Задавайте вопросы, мы ответим
Вы не зашли.
Ребята, всем привет и с прошедшими!
Подскажите, пожалуйста, как исправить проблему.
Имеется таблица:
Отредактированно FiMko (10.05.2010 22:15:38)
Неактивен
Во блин, убрал IGNORE и узрел "ERROR 1136 (21S01): Column count doesn't match value count at row 1"...
Тогда другой вопрос: IGNORE я использовал, т.к. имеется уникальный ключ по двум полям - 'word1_id' и 'word2_id', соответственно при вставке дублирующих значений я, используя IGNORE, планировал избежать ненужных сообщений о дубликатах. Как быть если возникают другие ошибки (не ошибки дублирования значений), ведь MySQL похоже подвешивается ?
Отредактированно FiMko (10.05.2010 22:25:13)
Неактивен
У меня не подвешивается ни на одном из запросов
[celestia root test > create table wf (a int, b int, primary key (a,b)); Query OK, 0 rows affected (0.20 sec) [celestia] root test > insert wf select 1 union select 2; ERROR 1136 (21S01): Column count doesn't match value count at row 1 [celestia] root test > insert ignore wf select 1 union select 2; Query OK, 0 rows affected, 1 warning (0.00 sec) [celestia] root test > show warnings; +-------+------+-------------------------------------------------+ | Level | Code | Message | +-------+------+-------------------------------------------------+ | Error | 1136 | Column count doesn't match value count at row 1 | +-------+------+-------------------------------------------------+ 1 row in set (0.00 sec)
Если Вы хотите игнорировать конкретную ошибку — можете в данном случае
использовать INSERT … ON DUPLICATE KEY UPDATE, хотя, если писать разумный
код, то других ошибок не будет. Ну или корректно обрабатывать код ошибки —
тоже вполне себе вариант.
Неактивен