У меня есть два оператора вставки mysql. Один со всеми полями, указанных в вставном заявлении отлично работает и вставить запись в TESTTABLE (Даже когда HTTP_REFERER пуст Вкладыш заявление вставка записей в таблицу с полем реферер пусто)Предоставляет ли MySQL Insert возможность не указывать все поля?
Первое Вставьте заявление со всеми полями, указанными:.
mysql_query("INSERT INTO testTable VALUES('$ID','".$_SERVER['REMOTE_ADDR']."',NOW(),'Page1','".$_SERVER['HTTP_REFERER']."')");
Проблема заключается в том, что вторая инструкция insert не вставляет никакой записи в testTable! Не могли бы вы, ребята, сказать мне, почему мой второй оператор insert не вставляет какую-либо запись в testTable?
Вторая вставка Постулаты:
mysql_query("INSERT INTO testTable VALUES('$ID','".$_SERVER['REMOTE_ADDR']."',NOW(),'Page1')");
Создать таблицу:
CREATE TABLE IF NOT EXISTS `testTable` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`ip` varchar(32) DEFAULT NULL,
`date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`Title` varchar(32) NOT NULL,
`Ref` varchar(250) NULL default '',
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1784 ;
Wow, те же самые точные ответы на почти то же самое точное время! –
Спасибо за ваш ответ. Итак, вы имеете в виду, что мне нужно указать имена столбцов, которые я хочу вставить при попытке опустить любой столбец и при попытке вставить все столбцы, тогда мне не нужно указывать имена столбцов в инструкции insert? – user1788736
@ user1788736 Правильно. Столбцы, которые имеют значение по умолчанию ('NULL',' AUTO INCREMENT' или иное), могут быть опущены из списка столбцов. – Kermit