为什么我的SQL语句在WHERE子句中显示未知列

时间:2015-03-15 03:13:06

标签: mysql sql

我不明白为什么我在'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%';

3 个答案:

答案 0 :(得分:0)

您的表名似乎是Cyclist,而不是cyclist - 大写C。因此,在您的WHERE子句中,您引用了一个不存在的表的列。

答案 1 :(得分:0)

来自docs(我强调):

  

虽然数据库,表和触发器名称不区分大小写   某些平台,你不应该使用不同的平台   同一陈述中的案例。以下陈述不会   因为它将表引用为my_table和MY_TABLE:

mysql> SELECT * FROM my_table WHERE MY_TABLE.col=1;
  

列,索引,存储例程和事件名称不区分大小写   在任何平台上,也不是列别名。

因此,请使用cyclistCyclist,但始终

答案 2 :(得分:0)

这主要与操作系统有关。命名约定在Unix中区分大小写,而在Windows OS中则不区分大小写。您可以根据操作系统将lower_case_table_names系统变量的参数值更改为0/2。详细说明可在http://dev.mysql.com/doc/refman/5.0/en/identifier-case-sensitivity.html

处获得