Integrity constraint violation: 1048 > Column 'entity_id' cannot be null
Short answer

It sounds like you have some code which deletes the node ID on saved nodes causing trouble.

Longer answer.

When you create a new node, Drupal will internally make an insert to the node table to generate an ID and then use that id to populate node_field_data and node_field_revision tables (assuming you are using revisions). The ID is also set on the node entity itself and is accessed via the id() method on the Node class.

The NodeForm does a check on the node object upon being saved, and rebuild the form in case the node doesn't get an ID.

Since you don't get an error for node_field_data and node_field_revision tables, it's pretty safe to assuming that the ID generation works and the node is populated with the ID (Core has lots of test cases covering this).

Since stuff reacting to the node being saved fails, with the missing ID, some code must delete the ID after it's set. Class instances are passed by reference, meaning that if you change one instance you change it every where that class instance is used. So most likely you have some code messing stuff up. There is a good chance that it's some code implementing hook_entity_insert or hook_entity_update (or the node specific variations of those hooks).