PDA

Просмотр полной версии : auto_increment в mysql


Дикс
27.02.2008, 22:05
создаю простую таблицу:

CREATE TABLE `bb_news` (
`id` int(10) unsigned NOT NULL auto_increment,
`title` varchar(255) NOT NULL default '',
`body` text,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=1;

пробую вставить в неё значения через phpmyadmin:

#1366 - Incorrect integer value: '' for column 'id' at row 1

Отчего вдруг id перестало получать значение автоматически??

Isis
27.02.2008, 22:09
CREATE TABLE `bb_news` (
`id` int(11) NOT NULL auto_increment,
`title` varchar(255) NOT NULL default '',
`body` text,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=1;

Твоя ошибка происходит потому что ты добавляешь значение те NULL в колонку auto_increment
А значение должно быть NULL

Т.е. у тебя что-то типа
<?php
$query = "INSERT INTO `bb_news` VALUES ('3', 'My Title', 'Textttt')";
?>

А надо:

<?php
$query = "INSERT INTO `bb_news` VALUES (NULL, 'My Title', 'Textttt')";
?>