Rõ ràng là một vấn đề rất hiếm, nhưng IMO cực kỳ khó chịu và SAI: Trailing khoảng trắng trong MySQL không được sử dụng trong so sánh:MySQL làm cho vấn đề khoảng trắng
mysql> SELECT "A" = "A ";
+------------+
| "A" = "A " |
+------------+
| 1 |
+------------+
1 row in set (0.00 sec)
Điều này đặc biệt có vấn đề trong các tình huống sau:
mysql> SELECT COUNT(*) FROM eq WHERE name != TRIM(name);
+------------+
| COUNT(*) |
+------------+
| 0 |
+------------+
1 row in set (0.00 sec)
mysql> UPDATE eq SET name=TRIM(name);
Query OK, 866 row affected (0.01 sec)
Rows matched: 650907 Changed: 866 Warnings: 0
Có cách nào để định cấu hình MySQL để xử lý đúng khoảng trắng không?
Một so sánh nhị phân sẽ ngăn chặn loại bỏ các dấu không gian: 'CHỌN Binary 'a' = Binary 'a';' –