MySQL говорит, что таблица есть, а затем говорит, что это не - PullRequest
2 голосов
/ 01 марта 2010

проверить создание базы данных 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

ОБНОВЛЕНИЕ : Дополнительная информация

  • Это система OSX, работающая под управлением mysql-5.1.38-osx10.5-x86_64

  • Если я удаляю базу данных и воссоздаю ее, я получаю ту же ошибку (она надежно воспроизводима).

Ответы [ 2 ]

1 голос
/ 01 марта 2010

8.2.2. Идентификатор чувствительности к регистру

»cat /etc/my.cnf 
[mysqld]
lower_case_table_names=2
1 голос
/ 01 марта 2010

"Table 'mycomp_test.hourofday' doesn't exist" является подозрительным, как и должно быть HourOFDay в системе Unix / Linux.

...