Докер: импортировать table.sql в mydatabase

Я хочу импортировать table.sql в созданную базу данных внутри контейнера mysql.

Это Dockerfile выглядит как

 FROM eccube/mysql51
 Maintainer Marouane baini <[email protected]>
 LABEL version = "1.0"
 LABEL description = "DB FOR TOMCAT SERVER"
 RUN mkdir /root/mysql
 COPY mytable.sql /root/mysql/

Чтобы запустить контейнер:

docker run --name=mysql-host  -e MYSQL_ROOT_PASSWORD=root -d mysql-host

Потом:

docker exec -i mysql-host mysql -uroot -proot mydatabase < table.sql

Получил такой результат:

ERROR 1146 (42S02) at line 1: Table 'mydatabase.table' doesn't exist

Как я могу решить эту проблему, создав пустую таблицу с именем Таблица внутри t моя база данных?

Что содержит table.sql?

Yaron Idan 21.05.2018 08:51

Это запрос на вставку «вставить в значения таблицы (Id, Type, module, stringValue) (...)»

Bainim 21.05.2018 08:54

Тогда да, таблица должна существовать. Вы можете просто добавить команду create table вверху скрипта.

Yaron Idan 21.05.2018 09:22

Как я могу это сделать? Поскольку я не могу создать пустую таблицу, в ней должен быть хотя бы один столбец.

Bainim 21.05.2018 10:21

Хорошо, я добавлю запрос таблицы ящиков в верхней части скрипта, большое спасибо

Bainim 21.05.2018 10:39

Я добавляю это как ответ, примите его, чтобы другие люди с тем же вопросом могли найти решение.

Yaron Idan 21.05.2018 10:52
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
1
6
109
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Поскольку данные не могут быть вставлены в несуществующую таблицу, ваш сценарий должен начинаться с команды CREATE TABLE.

Другие вопросы по теме