我对 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()
可以解决这个奇怪的问题?