SOS: ошибка с auto_increment полем

uninside

Новичок
SOS: ошибка с auto_increment полем

MySQL 5.0.5
Есть таблица. туда вставляются знаяения как:
PHP:
INSERT INTO config VALUES ('', 'ldap_search_user', 'Manager', 'ldap', 'text');
первое значение ставится в поле с атрибутом PRIMARY_KEY AUTO_INCREMENT - такая вставка вызывает ошибку. Если в первое значение подставить число, то все Ок. Вводить как
PHP:
INSERT INTO config ('non_key_field1','non_key_field2') VALUES (...);
я не могу, потому что это сторонний запрос (то есть не я его делал) и менять все поля вставки во всех запросах сайта, сами понимаете, я не могу.
может можно как-нть с этим разобраться. в версиях <5.0.0 такая вставка работала.
 

uninside

Новичок
это понятно, но я не могу указывать поля, в которые вставлять
как в этом запросе
PHP:
INSERT INTO config ('non_key_field1','non_key_field2') VALUES (...);
для этого надо перекопать весь чужой сайт.
 

uninside

Новичок
Panchous, пока к нему обратишься, то и НГ настанет, а у меня задача сегодня запустить...(

svetasmirnova, а причем здесь DEFAULT?
 

svetasmirnova

маленький монстрик
uninside
Всё при том же: читай внимательно как в поле auto_increment можно данные добавлять
 

uninside

Новичок
svetasmirnova, я читал. все равно ошибка. это не спасает
Фанат, если бы это я создавал, то вопросов бы и не было. а так как это сторонняя вещь, то мне надо обойти этот глюк без вмешательства в чужой код
 

svetasmirnova

маленький монстрик
INSERT INTO config VALUES (DEFAULT, 'ldap_search_user', 'Manager', 'ldap', 'text');
не спасает?
Кстати, в чём проблема подставить названия полей? Нормальный редактор, позволяющий производить замену во всей директории с использованием регулярных выражений и любимая музыка скрасят пару часов нудной работы ;)
 

uninside

Новичок
ну как вы не понимаете, это сторонний запрос и я не имею права его изменять.
 

Toxic_Cat

Новичок
Автор оригинала: uninside
ну как вы не понимаете, это сторонний запрос и я не имею права его изменять.
Аффтор объясни по человечески че те надо? :)

Если ты не имеешь права изменять что-то в коде НЕ ИЗМЕНЯЙ! Закрой его и все.

Какой глюк ты хочешь обойти? Где тут глюк? Здесь все зорошо.
 

chira

Новичок
обновить MySQL нельзя?
Код:
mysql> insert into a values ('','wwwwwwwwwwwwwwww');
Query OK, 1 row affected, 1 warning (0.00 sec)

mysql> desc a;
+-------+------------------+------+-----+---------+----------------+
| Field | Type             | Null | Key | Default | Extra          |
+-------+------------------+------+-----+---------+----------------+
| id    | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| name  | varchar(50)      | NO   |     |         |                |
+-------+------------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)

mysql> select version();
+-----------+
| version() |
+-----------+
| 5.0.17-nt |
+-----------+
1 row in set (0.00 sec)

mysql> select * from a;
+----+------------------+
| id | name             |
+----+------------------+
|  1 | wwwwwwwwwwwwwwww |
+----+------------------+
1 row in set (0.00 sec)
 

Myst

Новичок
У меня возникла таже проблема стояла вресия mysql-5.0.15-win32 ета версия непонимает таких заспросов как ('') в AUTO_INCREMENT , ети запросы использовались в форумах ipb , phpbb2 и тд , я не мог установить ети форумы и только после того как вернулся на версию mysql-5.0.0a-alpha-win все заработало.
 

terosan

Новичок
Я конечно не большой специалист, но почему нельзя подставить null вместо кавычек. Так будет корректно. А то получается - присвоение текстового значения числовому полю!!!
 

Myst

Новичок
Автор оригинала: terosan
Я конечно не большой специалист, но почему нельзя подставить null вместо кавычек. Так будет корректно. А то получается - присвоение текстового значения числовому полю!!!
Скорей всего ето и было реализовано в новых версиях mysql , при етом убрали старый тип запроса (''), но множество скриптов , форумов написаны именно в таком стиле ('') и поетому новые версии не могут обрабатывать запрос с кавычками , соответственно и скрипты не будут работать с форумами.
 
Сверху