2016-02-28 212 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

相关问题