Давно меня мучает один вопрос... Скажите пожалуйста, для чего в MySQL перечисляемый тип ENUM помимо перечисленных для него вариантов значений всегда имеет может иметь пустое значение, которое устанавливается, если присваиваемое значение не совпадает с перечисленными вариантами допустимых значений?
Таким образом MySQL никак не реагирует на допущенную в SQL-запросе ошибку, тем самым препятствуя ее обнаружению, допускает денормализацию и даже в какой-то степени нарушение целостности базы данных.
На мой взгляд было бы гораздо логичнее, если бы MySQL выдавал ошибку при попытке записать в поле с типом ENUM недопустимое значение. А так весь смысл этого ENUM как-то теряется...
|