Запрос для вставки даты с указанием ошибки?

#php #mysql #cakephp

#php #mysql #cakephp

Вопрос:

мой запрос

 INSERT INTO `messages_system(mes_id,mem_id,frm_id,subject,body,messages_system.type,new,folder,date,special,messages_system.read) VALUE('','51','48','title of the message','body of the message','message','new','sent','1305024405','','');`
  

этот запрос выдает ошибку

 MySQL said: 

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

Как я могу решить, что это mes_id мой основной идентификатор.

Ответ №1:

Просто опустите mes_id из ваших списков полей и значений:

 INSERT INTO `messages_system` (mem_id,frm_id,subject,body,messages_system.type,new,folder,date,special,messages_system.read) VALUES ('51','48','title of the message','body of the message','message','new','sent','1305024405','','')
  

или инициализировать его литералом NULL :

 INSERT INTO `messages_system` (mes_id, mem_id,frm_id,subject,body,messages_system.type,new,folder,date,special,messages_system.read) VALUES (NULL, '51','48','title of the message','body of the message','message','new','sent','1305024405','','')
  

Ответ №2:

Установите для вашего столбца первичного ключа значение AUTO_INCREMENT.

Ответ №3:

Вам нужно установить auto_increment атрибут для mes_id и удалить mes_id из вашего запроса.

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

1. Затем опустите mes_id из вашего запроса, как предложил @Quassnoi.