вставить значения в таблицу с первичным ключом автоматического увеличения? Я продолжаю получать ошибки

#mysql #sql

#mysql #sql

Вопрос:

Хорошо, итак, я получаю ошибку:

 #1062 - Duplicate entry '0' for key 'PRIMARY'
  

в этой таблице:

 CREATE TABLE links (
        ID smallint(6) NOT NULL default '0',
        Position smallint(6) NOT NULL default '0',
        Name text NOT NULL,
        url text NOT NULL,
        IP text NOT NULL,
        PRIMARY KEY (ID)
        ) TYPE=MyISAM; 
  

используя эту команду:

 INSERT INTO links(Position, Name, url, IP) VALUES(0, "Google", "http://www.google.com", "0.0.0.0")
  

В таблице есть только одна строка, так почему, черт возьми, автоматическое увеличение не работает? :<

Комментарии:

1. Попробуйте удалить ограничение по УМОЛЧАНИЮ для ID

2. Удалено, но все равно появляется та же ошибка.

3. Попробуйте приведенный ниже ответ, который должен исправить это для вас…

Ответ №1:

На самом деле вы не определяете ID столбец как столбец с автоматическим увеличением. Кроме того, DEFAULT значение также не имеет смысла для столбца с автоматическим увеличением.

Ваш столбец id должен быть:

 ID smallint(6) NOT NULL AUTO_INCREMENT
  

Больше информации здесь: http://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html

Комментарии:

1. Упс. Хорошо, что сработало. Я добавлю это в качестве ответа, когда смогу. :> Спасибо ^ _ ^