报错1054 Mysql问题分析及解决方法详解
程序员文章站
2022-03-02 17:27:01
报错1054 mysql问题分析及解决方法详解
sql 1: select * from table1 where courier_phone =132aaaaaaaa
sql 2:...
报错1054 mysql问题分析及解决方法详解
sql 1: select * from table1 where courier_phone =132aaaaaaaa sql 2: select * from table1 where courier_phone ='132aaaaaaa'
courier_phone 在中为 varchar类型;
sql 1 报出错误 1054
可是执行sql 3, sql4 都没有问题。
sql 3: select * from table1 where courier_phone =13212345678 sql 4: select * from table1 where courier_phone ='13212345678'
内心很是困惑,为什么加上 引号就能成功
13212345678与132aaaaaaa 不都是转换成字符串了,怎么就一个不成功?
答:13212345678 ,132aaaaaaa 不加引号都会默认为数值类型,当sql执行前, mysql库会先加载解析sql,13212345678 成功解析成为数值类型,但是132aaaaaaa 不能解析成为数值类型(所以就报1054的错误)。