我不明白为什么我在'where子句'中收到“未知栏'cyclist.ISO_id'的错误”
SELECT name, gender, height, weight FROM Cyclist LEFT JOIN Country ON Cyclist.ISO_id = Country.ISO_id WHERE cyclist.ISO_id = 'gbr%';
答案 0 :(得分:0)
您的表名似乎是Cyclist
,而不是cyclist
- 大写C
。因此,在您的WHERE
子句中,您引用了一个不存在的表的列。
答案 1 :(得分:0)
来自docs(我强调):
虽然数据库,表和触发器名称不区分大小写 某些平台,你不应该使用不同的平台 同一陈述中的案例。以下陈述不会 因为它将表引用为my_table和MY_TABLE:
mysql> SELECT * FROM my_table WHERE MY_TABLE.col=1;
列,索引,存储例程和事件名称不区分大小写 在任何平台上,也不是列别名。
因此,请使用cyclist
或Cyclist
,但始终。
答案 2 :(得分:0)
这主要与操作系统有关。命名约定在Unix中区分大小写,而在Windows OS中则不区分大小写。您可以根据操作系统将lower_case_table_names系统变量的参数值更改为0/2。详细说明可在http://dev.mysql.com/doc/refman/5.0/en/identifier-case-sensitivity.html
处获得