2

检查数据库生成的 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

检查数据库表(哎呀,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 系统

  • 如果我删除数据库并重新创建它,我会得到同样的错误(它是可靠的可重现的)。

4

2 回答 2

1

" Table 'mycomp_test.hourofday' doesn't exist" 是可疑的,因为它应该HourOFDay在 unix/linux 系统上。

于 2010-03-01T13:41:14.910 回答
1

8.2.2. 标识符大小写敏感性

»cat /etc/my.cnf 
[mysqld]
lower_case_table_names=2
于 2010-03-01T14:48:26.820 回答