MySQL表名称区分大小写吗?因为我有一个小写的名为“eventai”的表,并且我的调试文件说:[23:50:29] CMySQLHandler::Query(DELETE FROM Eventai) - An error has occured. (Error ID: 1146, Table 'airidas?36_....Eventai' doesn't exist)
它找不到名为“Eventai”的表。
调试文件中的连接信息:
[23:50:29]
[23:50:29] ---------------------------
[23:50:29] MySQL Debugging activated (05/13/13)
[23:50:29] ---------------------------
[23:50:29]
[23:50:29] >> mysql_connect( )
[23:50:29] CMySQLHandler::CMySQLHandler() - constructor called.
[23:50:29] CMySQLHandler::CMySQLHandler() - Connecting to "77.241.197.235" | DB: "airidas?36_..." | Username: "airidas_36" ...
[23:50:29] CMySQLHandler::Connect() - Connection was successful.
[23:50:29] CMySQLHandler::Connect() - Auto-Reconnect has been enabled.
[23:50:29] >> mysql_ping( Connection handle: 1 )
[23:50:29] CMySQLHandler::Ping() - Connection is still alive.
编辑:现在有效,请勿回复
答案 0 :(得分:1)
在MySQL中,数据库对应于数据目录中的目录。数据库中的每个表对应于数据库目录中的至少一个文件(并且可能更多,取决于存储引擎)。因此,底层操作系统的区分大小写在数据库和表名称的区分大小写中起作用。 这意味着数据库和表名在Windows中不区分大小写,在大多数Unix中区分大小写。
虽然数据库和表名在某些平台上不区分大小写,但您不应在同一语句中使用不同的大小写引用给定的数据库或表。以下语句不起作用,因为它将表引用为
my_table
和MY_TABLE
:mysql> SELECT * FROM my_table WHERE MY_TABLE.col=1;