Почему я получаю «таблица не существует» при попытке выполнить команду «создать таблицу»?

#mysql #docker #case-sensitive

Вопрос:

Я создаю приложение, которое использует, среди прочего, docker и mysql. Внутри контейнера mysql я выполняю следующую команду для импорта дампа базы данных:

 root@112345678956:/# cd a-folder/
root@112345678956:/# mysql -uroot -proot dbname < dump.sql
 

Когда команда выполняется, через несколько секунд я получаю следующее сообщение об ошибке:

 ERROR 1146 (42S02) at line 113: Table 'dbname.blockedseat' doesn't exist
 

Ниже приведен код SQL из строки 113 в dump.sql файле, содержащем команду создать таблицу:

 113 CREATE TABLE IF NOT EXISTS `BlockedSeat` (
114  `id` int(11) NOT NULL AUTO_INCREMENT,
115  `purchase_id` int(11) DEFAULT NULL,
116  `subscription_id` varchar(40) COLLATE utf8_unicode_ci DEFAULT NULL,
117  `seatId` int(11) DEFAULT NULL,
118  `seatCode` int(11) DEFAULT NULL,
119  `reduction` int(11) DEFAULT NULL,
120  `description_it` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
121  `description_en` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
122  `price` decimal(6,2) NOT NULL,
123  `payment_method` smallint(6) DEFAULT NULL,
124  `points` int(11) NOT NULL,
125  `blockedAt` datetime NOT NULL,
126  `expiresAt` datetime NOT NULL,
127  `transaction` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
128  `height` smallint(6) DEFAULT NULL,
129  `promotion` varchar(36) COLLATE utf8_unicode_ci DEFAULT NULL,
130  `priceList_id` int(11) DEFAULT NULL,
131  `status` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL,
132  `gift_id` int(11) DEFAULT NULL,
133  `code` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL,
134  PRIMARY KEY (`id`)
135 );
 

(В приведенном выше коде 113-номер строки редактора)

Надеюсь, этот вопрос ясен.

Комментарии:

1. Вероятно, включите больше строк кода из dump.sql для большей ясности в проблему?

2. Я не уверен, что ваша инструкция create table генерирует это сообщение об ошибке. Я бы еще раз проверил номер этой строки!

3. Вопрос обновлен.

4. Быстрая мысль, dbname существует ли база данных на conainer?

5. Номер строки в исходном файле и номер строки, обнаруженный mysql, не всегда точно совпадают.