MySQLWHERE
句に問題があります。問題が何であるかはわかっていると思いますが、それを修正する方法はわかりません。
学生の時間割情報を含むデータベースがあり、これを学生情報を含むテーブルと照合しています。学生情報は CSV (utf-8) ファイルからデータベースにインポートされ、他の情報は「通常の」INSERT
クエリでデータベースに挿入されました。
WHERE
句は単純で、次のようになります。
WHERE gpu_timetable.cls_name =
(SELECT cls_name FROM gpu_students WHERE std_number = 123441 LIMIT 1)
タイムテーブルの cls_name (クラス名) と、学生テーブルのクラス名を照合します。私が言ったように、データは異なるソースからのものですが、同じように見えます。たとえば、SELECT クエリを削除してこの文字列 ('LV6A') を使用すると、コードが機能します。
両方のフィールドの照合は *utf8_general_ci* です。私も試しTRIM()
ましたが成功しませんでした。演算子=
をLIKE
.
学生情報をインポートするときに何か間違ったことをしましたか、またはTRIM()
この奇妙な問題を解決できる同様の別の機能はありますか?