Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: проблема с mysql-5.0.19 (SQL-режим NO_AUTO_VALUE_ON_ZERO)
 
 автор: beowulf   (12.04.2006 в 12:16)   письмо автору
 
 

Установил mysql-5.0.19 и столкнулся с такой проблемой -
при попытке добавления записи, где primary key генерится авто-инкрементом - mysql выводит "ошибка 1264"
запрос имеет вид -
insert into table values('', 'value');
- это при добавлении записей через консоль и через phpmyadmin
при этом, запросы типа
insert into table values(NULL, 'value'); 
проходят нормально

В чем может быть дело?

   
 
 автор: Trianon   (12.04.2006 в 12:22)   письмо автору
 
   для: beowulf   (12.04.2006 в 12:16)
 

Зачем же Вы числовому столбцу текстовое значение подсовываете?
Не говоря уже о том, зачем Вы его вообще указываете, если ожидаете автогенерации?

   
 
 автор: beowulf   (12.04.2006 в 12:37)   письмо автору
 
   для: Trianon   (12.04.2006 в 12:22)
 

но в mysql- 4.1 это работало

   
 
 автор: cheops   (12.04.2006 в 13:40)   письмо автору
 
   для: beowulf   (12.04.2006 в 12:37)
 

Очень похоже на то, что включён SQL-режим NO_AUTO_VALUE_ON_ZERO - это как раз для него характерно. Где дело происходит у вас на локальной машине или на сервере?

   
 
 автор: beowulf   (12.04.2006 в 15:06)   письмо автору
 
   для: cheops   (12.04.2006 в 13:40)
 

на локальной машине

   
 
 автор: cheops   (12.04.2006 в 15:36)   письмо автору
 
   для: beowulf   (12.04.2006 в 15:06)
 

Найдите на машине все файлы my.ini и my.cnf и выложите пожалуйста их содержимое. Зайдите в сервисы (Пуск | Настройка | Панель управления | Администрирование | Службы) - найдите там MySQL - зайдите в свойства - какие параметры передаются MySQL-серверу?

   
 
 автор: cheops   (12.04.2006 в 15:37)   письмо автору
 
   для: beowulf   (12.04.2006 в 15:06)
 

Выполните также следующий оператор
SELECT @@global.sql_mode;

Что он возвращает?

   
 
 автор: beowulf   (12.04.2006 в 16:38)   письмо автору
 
   для: cheops   (12.04.2006 в 15:37)
 

запрос вернул это - STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

   
 
 автор: cheops   (13.04.2006 в 00:08)   письмо автору
 
   для: beowulf   (12.04.2006 в 16:38)
 

Уберите вот эту строку в my.ini
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

или, если остальные режимы вам нужны, уберите константу NO_AUTO_CREATE_USER.

   
 
 автор: beowulf   (13.04.2006 в 08:32)   письмо автору
 
   для: cheops   (13.04.2006 в 00:08)
 

Спасибо!
теперь все работает

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования