我有一个 mysql 损坏的数据库,我还有另一个很好的数据库,它包含所有表和列。我如何才能在损坏的数据库中导入仅缺少良好数据库中的信息?我的意思是不存储信息的表、列和值。
我导出了良好的数据库,当我尝试导入损坏的数据库时,我得到:#1060 - Duplicate column name 'id_advice'
所以,我需要的是跳过重复项目并继续只添加不存在的信息。
我有一个 mysql 损坏的数据库,我还有另一个很好的数据库,它包含所有表和列。我如何才能在损坏的数据库中导入仅缺少良好数据库中的信息?我的意思是不存储信息的表、列和值。
我导出了良好的数据库,当我尝试导入损坏的数据库时,我得到:#1060 - Duplicate column name 'id_advice'
所以,我需要的是跳过重复项目并继续只添加不存在的信息。
您可以使用 Mysqldump。可以选择不使用数据。
mysqldump -uYourUserName -p=YourPassword databasename --no-data --routines > "dump.sql"
您可以导入表结构。如果不存在则使用创建或如果存在则删除,因此您可以根据需要进行定制。我建议下载 Mysql Workbench,使用该工具可以轻松完成。
关于 mysqldump 的信息 http://dev.mysql.com/doc/refman/5.6/en/mysqldump.html
您可以在 SQL 语句中使用“IF EXIST”。
您可以使用 PHP 或其他编程语言获得每条记录/表格/所需内容。
然后,您构建一些这样的语句:
IF NOT EXISTS (SELECT what-you-want FROM BrokenTable WHERE some-test=some-value)
INSERT INTO ClearTable(value, that, you, need, to, insert);
希望我对你有所帮助。