簡體   English   中英

如果1表不存在,則創建數據庫的mysqldump

[英]mysqldump with create database if not exist for 1 table

正如主題建議的那樣,我正在嘗試使用mysqldump創建一個包含的文件

CREATE DATABASE IF NOT EXISTS

但只能輸出一個表。 我已經嘗試過多種組合--databases, - tables等,但是我無法讓它添加IF NOT EXISTS部分(它在那里但是注釋掉了),它似乎只適用於輸出所有表格。 可能嗎?

我試過的一些事情:

添加CREATE DATABASE(但不是IF NOT EXISTS部分)但輸出所有表:

mysqldump --host=<host> --user=<u> --password=<p> --port=<port> --verbose --single-transaction --add-drop-table --create-options --databases BBI > outfile.sql

輸出1表但沒有CREATE DATABASE:

mysqldump --host=<host> --user=<u> --password=<p> --port=<port> --verbose --single-transaction --add-drop-table --create-options BBI table1 > outfile.sql

給出錯誤:

mysqldump --host=<host> --user=<u> --password=<p> --port=<port> --verbose --single-transaction --add-drop-table --create-options --databases BBI.table1 > outfile.sql

我是否不得不求助於使用

--ignore-table=<table>

我不想要的每張桌子的選項? 那將是一個巨大的痛苦。

我能夠想出一個解決方法。 上面的命令是使用exec()從PHP腳本執行的。 我改變了腳本,先做了一個

show create database BBI

查詢。 然后它修改從那里返回的語句,以添加IF NOT EXISTS部分和USE BBI; 聲明。 然后它運行上面的第二個mysqldump語句,輸出1表但沒有CREATE DATABASE。 然后它將CREATE DATABASE語句添加到mysqldump輸出文件的開頭,一切正常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM