Mysql截断不正确的DOUBLE值

当我执行这个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) 

我怎样才能解决这个问题?

谢谢。

你不需要AND关键字。 以下是UPDATE语句的正确语法 :

 UPDATE shop_category SET name = 'Secolul XVI - XVIII', name_eng = '16th to 18th centuries' WHERE category_id = 4768 

我得到这个exception不是因为AND而不是逗号,实际上我有这个exception只是因为我没有在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 = 4768 

UPDATE语法显示逗号应该用作分隔符。

主要是无效的查询string会给这个警告。

使用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"; 

拆除和更换后,其工作正常:

$up="UPDATE users1 SET user_fname='$fname', user_lname='$lname' where user_emp_code=$emp";

我得到了同样的错误,并用两个列值之间的“,”replaceAND后解决。

UPDATE IGNORE TRANSFORMERDATA SET TRANSFORMERNAME ='DummyXmer.jar',REMARKS ='DummeyXmer'WHERE GENERATEDRUNID ='DB1-DB2RYTSYFGWTY8966'