CREATE TABLE IF NOT EXISTS `myproducts` (
`uid` int(10) unsigned NOT NULL AUTO_INCREMENT,
`parent_id` int(10) unsigned DEFAULT NULL,
`type_id` varchar(64) COLLATE utf8_czech_ci NOT NULL DEFAULT 'NormalPage',
`name` varchar(255) COLLATE utf8_czech_ci NOT NULL DEFAULT '',
PRIMARY KEY (`uid`),
KEY `index_2` (`type_id`,`t`),
KEY `name` (`name`),
KEY `parent_id` (`parent_id`,`name`(48))
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci ROW_FORMAT=DYNAMIC AUTO_INCREMENT=189 ;
Это мое заявление о вставке.Как вставить данные в MySQL, передав значение '' для автоинкрементного столбца?
INSERT INTO `mydb`.`myproducts` (`uid`, `parent_id`, `type_id`, `name`) VALUES ('',20, 'Product Category', 'WaterBottels');
Описание проблемы: Когда я использовать эту вставку запрос в моей системе, которая оказывает MySQL версии 5.5.16 он прекрасно вставив запись, но когда я пытаюсь это в другой системе, которая также имеющая MySQL версии 5.5. 16 это проблема.
Я знаю, что мы должны передать NULL или '0' для столбца автоматического увеличения, но мой вопрос, почему он работает для моего экземпляра.
Поскольку он работает для моего экземпляра, я рассматриваю возможность передачи '' в качестве значения для столбца автоматического увеличения. если это необходимо для работы в другой системе, мне нужно изменить любые конфигурации mysql.