|
|
|
| Установил mysql-5.0.19 и столкнулся с такой проблемой -
при попытке добавления записи, где primary key генерится авто-инкрементом - mysql выводит "ошибка 1264"
запрос имеет вид -
insert into table values('', 'value');
| - это при добавлении записей через консоль и через phpmyadmin
при этом, запросы типа
insert into table values(NULL, 'value');
| проходят нормально
В чем может быть дело? | |
|
|
|
|
|
|
|
для: beowulf
(12.04.2006 в 12:16)
| | Зачем же Вы числовому столбцу текстовое значение подсовываете?
Не говоря уже о том, зачем Вы его вообще указываете, если ожидаете автогенерации? | |
|
|
|
|
|
|
|
для: Trianon
(12.04.2006 в 12:22)
| | но в mysql- 4.1 это работало | |
|
|
|
|
|
|
|
для: beowulf
(12.04.2006 в 12:37)
| | Очень похоже на то, что включён SQL-режим NO_AUTO_VALUE_ON_ZERO - это как раз для него характерно. Где дело происходит у вас на локальной машине или на сервере? | |
|
|
|
|
|
|
|
для: cheops
(12.04.2006 в 13:40)
| | на локальной машине | |
|
|
|
|
|
|
|
для: beowulf
(12.04.2006 в 15:06)
| | Найдите на машине все файлы my.ini и my.cnf и выложите пожалуйста их содержимое. Зайдите в сервисы (Пуск | Настройка | Панель управления | Администрирование | Службы) - найдите там MySQL - зайдите в свойства - какие параметры передаются MySQL-серверу? | |
|
|
|
|
|
|
|
для: beowulf
(12.04.2006 в 15:06)
| | Выполните также следующий оператор
SELECT @@global.sql_mode;
|
Что он возвращает? | |
|
|
|
|
|
|
|
для: cheops
(12.04.2006 в 15:37)
| | запрос вернул это - STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION | |
|
|
|
|
|
|
|
для: beowulf
(12.04.2006 в 16:38)
| | Уберите вот эту строку в my.ini
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
|
или, если остальные режимы вам нужны, уберите константу NO_AUTO_CREATE_USER. | |
|
|
|
|
|
|
|
для: cheops
(13.04.2006 в 00:08)
| | Спасибо!
теперь все работает | |
|
|
|