id | name |
---|---|
1 | 你 |
2 | 你(一個空格) |
3 | 你(二個空格) |
二、查詢與結果
select * from person where `name` = ?
無論 ? = ”你 + 幾個空格”,都會檢索出全部三個結果。
三、原因
MySQL 校對規(guī)則屬于PADSPACE,會忽略尾部空格
針對的是 varchar char text …… 等文本類的數據類型
此為 SQL 標準化行為。無需要設置也無法改變。
四、想要精確查詢怎么辦?
方法一:like
select * from person where `name` like ?
方法二:BINARY
select * from person where `name` = BINARY ?
BINARY 不是函數,是類型轉換運算符,它用來強制它后面的字符串為一個二進制字符串,可以理解成精確匹配
以上就是本次介紹的全部相關知識點,如果大家有任何補充可以聯系腳本之家小編。