3

环境

Windows 7 中 VirtualBox 上的 Fedora 19 和 MariaDB

安装

yum install perl-SQL-Translator

脚步

生成转储:

[username@hostname ~] mysqldump -u root -pmysql_root_password database_name > example.sql

生成图表:

[username@hostname ~]  sqlt-graph -f MySQL -o example.png -t png example.sql

错误

ERROR (line 36): Invalid statement: Was expecting comment, 
or use, or set, or drop, or create, or alter, or insert, or 
delimiter, or empty statement
Error: translate: Error with parser 'SQL::Translator::Parser::MySQL':  
no results at /usr/bin/sqlt-graph line 195.

链接

SQLFairy

编辑

在第 5 行的以下 SQL 中也会出现错误:

DROP TABLE IF EXISTS `test_table`;
CREATE TABLE `test_table` (
  `my_id` int(11) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`my_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
LOCK TABLES `test_table` WRITE;
UNLOCK TABLES;
4

1 回答 1

4

解决方案是只导出架构的表定义。你的例子中的错误应该顺便说一句。不会发生在第五行,而是在第六行,表被锁定以插入数据。

作为一种解决方案,在没有数据的情况下转储您的架构,鉴于上面的示例,您可以执行以下操作来获取与仙女一起使用的转储:

mysqldump -u root -pmysql_root_password --no-data database_name > example.sql
于 2013-08-01T08:01:28.313 回答