ien*_*amy 13 mysql import overwrite
我google了很多,我什么都没发现!
[root@someday backups]# mysql -u username_1 -p db_1 < tables_to_import/tables.sql
ERROR 1050 (42S01) at line 19: Table 'ps_customer' already exists
Run Code Online (Sandbox Code Playgroud)
与mysql -f是一样的.我希望简单地导入.sql并重写那些表,有人可以帮助我吗?
ps我知道当你导出数据库时你可以选择选项"DROP TABLE",但如果我有一个备份,没有这个声明?我该怎么办?谢谢
Dre*_*ewB 34
当你做mysqldump时添加--add-drop-table(就像提到的twihoX).然后像往常一样进行导入.所以类似于:
mysqldump --add-drop-table -u user -p > dumpfile.sql
mysql -u user -p < dumpfile.sql
Run Code Online (Sandbox Code Playgroud)
您是否试图覆盖整个数据库?如果是这样,您可以手动删除所有表,然后运行导入脚本.这在phpmyadmin中很容易做到.如果你正在使用CLI,最快的方法就是使用DROP DATABASE databasename然后create database,虽然我认为你必须为任何非root用户重新授予权限.
另一种选择是打开转储文件并DROP TABLE tablename在每个CREATE TABLE命令之前添加.你可以用一些聪明的正则表达式轻松地做到这一点.