|
|
|
|
|
by ars
5812 days ago
|
|
What? Have you ever programmed SQL? Because what you wrote doesn't make sense. No data is inserted wrongly - you are simply leaving out a field. There is no mess. Just an unused field. Are you thinking it's like csv where if you leave out a column all the others are shifted? It's not like that. The standard says if you leave out a column that does not have a default the SQL should return an error. Instead MySQL puts in a default (but only if you tell it too in the configuration). Putting a NULL in a non-NULL field would be much worse. |
|
However I really do think that inserting an unexpected default value is worse than inserting NULL into a NON-NULL field. The NULLs will cause problems, but they are problems you can see and resolve.
The default values are silent errors that will corrupt your data and be very difficult to recover from in the future. You can only guess which data was wrongly inserted.