背景
mysql 数据库 tb_task 表 中title是varchar
SELECT t.* from tb_task t where t.title=0; 会查到所有数据
解决办法
需要用如下写法
SELECT t.* from tb_task t where t.title=‘0’;一条查不到
原因
"Strings are automatically converted to numbers and numbers to strings as necessary."这意味着为了将字符串与数字进行比较,它会尝试从字符串的开头解析数字。在这种情况下,那里没有数字,所以它转换为0,并且0 = 0为真。