学习问题|解决sql update 1292 - Truncated incorrect DOUBLE value:

出现这种错误,我属实焦头烂额了一会儿,这个错误基本可以分为以下两种情况:
一:你的字段类型是varchar,但是你这样进行操作,是不对的,

UPDATE StuCose SET Cno=60

应该是:
UPDATE StuCose SET Cno='60'

二:你更新操作进行子查询时,需要的两个表的相同的字段的类型不同,比如你的cose表中的Cno是int类型,

学习问题|解决sql update 1292 - Truncated incorrect DOUBLE value:
文章图片

【学习问题|解决sql update 1292 - Truncated incorrect DOUBLE value:】但是你的stucose表中是varchar类型
学习问题|解决sql update 1292 - Truncated incorrect DOUBLE value:
文章图片

,这个时候类似这样进行了子查询的update就会报错
UPDATE StuCose SET Grade=60 WHERE Sno IN( SELECT Sno FROM ( SELECT Sno FROM stucose WHERE Grade<=ALL( SELECT MIN(Grade) FROM stucose s2 WHEREs2.Cno IN( SELECT Cno FROM cose WHERE Cname='DS' ) )) AS a) ;

总结:1:要注意字段类型的sql语法规范
2:要注意子查询时不同表间相同的字段类型要相同。



    推荐阅读