MYSQL усек неправильное двойное значение
при выполнении SQL-запроса ниже:
UPDATE shop_category
SET name = 'Secolul XVI - XVIII'
AND name_eng = '16th to 18th centuries'
WHERE category_id = 4768
возникает следующая ошибка:
1292 - Truncated incorrect DOUBLE value: 'Secolul XVI - XVIII'
как это исправить?
shop_category структура таблицы:
category_id mediumint(8)
name varchar(250)
name_eng varchar(250)
8 ответов:
вам не нужно
ANDключевое слово. Вот это правильный синтаксис инструкции UPDATE:UPDATE shop_category SET name = 'Secolul XVI - XVIII', name_eng = '16th to 18th centuries' WHERE category_id = 4768
Я получал это исключение не из-за и вместо запятой, на самом деле у меня было это исключение только потому, что я не использовал апострофы в предложении where.
Как мой запрос был
update table set coulmn1='something' where column2 in (00012121);когда я изменил предложение where
where column2 in ('00012121');запрос работал штрафа для меня.
попробуйте заменить
ANDС,UPDATE shop_category SET name = 'Secolul XVI - XVIII', name_eng = '16th to 18th centuries' WHERE category_id = 4768The обновить синтаксис показывает, что запятая должна использоваться в качестве разделителя.
В основном недопустимые строки запроса выдадут это предупреждение.
неправильно из-за тонкой синтаксической ошибки (неуместная правая скобка) при использовании
INSTRфункция:INSERT INTO users (user_name) SELECT name FROM site_users WHERE INSTR(status, 'active'>0);правильно:
INSERT INTO users (user_name) SELECT name FROM site_users WHERE INSTR(status, 'active')>0;
$up="UPDATE users1 SET user_fname='$fname' and user_lname='$lname' where user_emp_code=$emp";после удаления и замены
andС,его работает нормально:
$up="UPDATE users1 SET user_fname='$fname', user_lname='$lname' where user_emp_code=$emp";
Я просто впустую мое время на это и хотел добавить дополнительный случай, когда эта ошибка проявляется.
SQL Error (1292): Truncated incorrect DOUBLE value: 'N0003'тестовых данных
CREATE TABLE `table1 ` ( `value1` VARCHAR(50) NOT NULL ); INSERT INTO table1 (value1) VALUES ('N0003'); CREATE TABLE `table2 ` ( `value2` VARCHAR(50) NOT NULL ); INSERT INTO table2 (value2) SELECT value1 FROM table1 WHERE 1 ORDER BY value1+0проблема
ORDER BY value1+0- тип литья.Я знаю, что он не отвечает на вопрос, но это первый результат в Google для этой ошибки, и он должен иметь другие примеры, где эта ошибка представляет себя.
если вы получаете эту проблему со вставкой, которая выглядит, как показано ниже, проблема может быть просто отсутствие пробела между
--и текст комментария:insert into myTable (a, b, c) values ( 123 --something ,345 --something else ,567 --something something else );проблема в том, что
--somethingна самом деле должно быть-- somethingС пробелом.
Я получал ту же ошибку, и это было решено после замены и С", " между двумя значениями столбца.
обновить игнорировать TRANSFORMERDATA SET TRANSFORMERNAME= ' DummyXmer.jar', REMARKS = 'DummeyXmer' ГДЕ GENERATEDRUNID= 'DB1-DB2RYTSYFGWTY8966'
Comments