база данных дополнения командной строки mysql

0

Можно ли добавить другой sql в существующие данные таблицы, используя команду, подобную приведенной ниже.

$ mysql -u username -p -h localhost DATA-BASE-NAME < data.sql

Эта команда перезапишет существующие данные таблицы.

Глядя на добавление к существующим, а не переписывание.

Любая команда для этого?

  • 0
    Это выполнит все, что содержится в вашем data.sql (точно так же, как если бы вы выполняли эти операторы везде, где вы обычно это делаете). Если файл data.sql содержит команду для удаления и воссоздания таблицы и ее данных, он это сделает. (Это часто бывает, когда вы делаете резервную копию). Например, если он будет содержать вставки, он будет добавлять данные.
  • 0
    используя этот стиль команды из командной строки, любой способ сделать, как вы упомянули? какие-либо ключи для этого типа команды? mysqldump --user = xxxxxx --password = xxxxxx xxxxxx zzzzzz> aaaaaaa.sql
Показать ещё 1 комментарий
Теги:
line
command

1 ответ

0

Посмотрите в файле sql, который вы хотите добавить к существующим данным. Вероятно, дамп включает строки, начинающиеся следующим образом: DROP TABLE IF EXISTS и/или содержит DROP DATABASE IF EXISTS db_name

Вам нужно удалить эти строки из файла sql, который вы передаете в mysql, либо путем изменения команды дампа, с которой вы создали файл (см. Параметр -skip-add-drop-table и опции -no-create-db) или удалив эти строки из файла sql с помощью редактора или awk или чего-то еще.

см. https://dev.mysql.com/doc/refman/5.7/ru/mysqldump.html.

другие релевантные SO-ссылки: mysqldump с созданием строки базы данных и импорт MySQL - Как игнорировать таблицу Drop, если существует строка?

  • 0
    я пытаюсь написать автоматизированный пакетный процесс, используя mysqldump --user = xxxxxx --password = xxxxxx xxxxxx zzzzzz> aaaaaaa.sql
  • 0
    Интересно. Я предлагаю прочитать в командной строке параметры mysql-dump, чтобы вы экспортировали только то, что вам нужно.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню