どうやら非常にまれな問題ですが、IMO は非常に厄介で間違っています: MySQL の末尾の空白は比較に使用されません:
mysql> SELECT "A" = "A ";
+------------+
| "A" = "A " |
+------------+
| 1 |
+------------+
1 row in set (0.00 sec)
これは、次のシナリオで特に問題になります。
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
空白を適切に処理するように MySQL を設定する方法はありますか?