检查生成数据库的sql(看起来很好):
CREATE TABLE `HourOfDay` (
`id` int(11) NOT NULL,
`hourString` varchar(2) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
检查文件系统(它在那里):
# ls -al Mycomp_test | grep -i hour
-rw-rw---- 1 _mysql wheel 0 Mar 1 08:13 HourOfDay.MYD
-rw-rw---- 1 _mysql wheel 1024 Mar 1 08:13 HourOfDay.MYI
-rw-rw---- 1 _mysql wheel 8598 Mar 1 08:13 HourOfDay.frm
检查数据库(看起来不错):
»mysql -u root Mycomp_test -e 'show tables' | grep -i hour
HourOfDay
检查数据库表(oops wtf!?):
»mysql -u root Mycomp_test -e 'show create table HourOfDay'
ERROR 1146 (42S02) at line 1: Table 'mycomp_test.hourofday' doesn't exist
更新:更多信息
这是一个运行mysql-5.1.38-osx10.5-x86_64的OSX系统
如果我删除数据库并重新创建它,我会得到相同的错误(它可靠地重现)。
答案 0 :(得分:1)
“Table 'mycomp_test.hourofday' doesn't exist
”是可疑的,因为它应该是unix / linux系统上的HourOFDay
。
答案 1 :(得分:1)
8.2.2。 Identifier Case Sensitivity
»cat /etc/my.cnf
[mysqld]
lower_case_table_names=2