2016-02-28 206 views
0

我必須將一堆mysql表傳輸到不同服務器上的不同數據庫。要重新創建表格,我正在使用我的代碼中的SHOW CREATE TABLESHOW CREATE TABLE語句僅返回create table語句

SHOW CREATE TABLE總是返回2列,即表名和用於創建表的SQL。

是否有可能制定一個查詢,只返回與創建表的SQL單列?

回答

0

如果您在使用show創建表的堅持,你可以使用下面的SQL + LINUX CMDS

mysql -uroot -p -Nsr -e 'SHOW CREATE TABLE schema.table_name\G'| tail -n +3 >> /tmp/ddl.sql 
  • 這將管道輸出到您選擇的文件。
  • 它只能將創建表的SQL語法。

喔,如果你有一個以上的表,你可以使用CONCAT和一些信息表生成命令。

+0

我沒有使用Linux命令的選項,因爲我通過.NET連接器訪問mysql。顯然,我可以將我的查詢結果解析爲適當的字符串,但返回單個字段的Query對於我的設計來說更可取。 – Fang