以下3个查询将返回相同的记录:
SELECT * FROM items WHERE id = '1'
SELECT * FROM items WHERE id = '1 foo'
SELECT * FROM items WHERE id = '1 123'
Run Code Online (Sandbox Code Playgroud)
看起来引号中空格后的字符会被忽略.
这是一个功能,它的目的是什么?
由于id是一个数字,当MySql将字符串转换为数字时,它们都会产生相同的结果:数字1.
SELECT CAST('1' AS SIGNED) a,
CAST('1 foo' AS SIGNED) b,
CAST('1 123' AS SIGNED) c
Run Code Online (Sandbox Code Playgroud)
结果:
a | b | c
1 | 1 | 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
88 次 |
| 最近记录: |