Я сейчас пытаюсь использовать Object Relational Mapper для CodeIgniter, и я испытываю то, чего не ожидал.
У меня есть таблица с парой полей, некоторые из которых не имеют значения NULL. Запрос вставки, в котором отсутствует поле NOT NULL, создается - добавляется новая строка, но с пробелами для этих полей.
Я не знал, что MySQL игнорирует поля NOT NULL, которых нет в запросе, и все равно вставит строку. Есть ли способ ограничить это?
- Редактировать -
Позвольте мне добавить еще несколько деталей и попытаться объяснить это немного подробнее
Вот пример таблицы:
CREATE TABLE `test` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`color` varchar(40) COLLATE utf8_bin DEFAULT '',
`shape` varchar(40) COLLATE utf8_bin NOT NULL,
`size` varchar(40) COLLATE utf8_bin NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_bin
Вот пример запроса:
INSERT INTO `test` (`shape`) VALUES ('foo')
У меня нет size
в моем запросе, но он все еще добавляет строку - это ожидается?
(пример запроса был запущен в phpMyAdmin)