0

我有很多数据库,每个数据库都有 table names。在一些我有 UNIQUE KEY 命名name1和其他相同的 UNIQUE KEY 被命名name2。我想标准化这个名称,所以我准备了 3 个查询以在每个数据库上运行:

ALTER IGNORE TABLE `names`
    DROP INDEX `name1`;
ALTER IGNORE TABLE `names`
    DROP INDEX `name2`;
ALTER TABLE `names`
    ADD UNIQUE `new_name` (`name`, `surname`);

但我得到了错误:

SQL Error (1091): Can't DROP 'name1'; check that column/key exists

如何在每个数据库上运行一组查询?

4

1 回答 1

3

如果您从命令行执行 SQL 脚本文件,您可以尝试忽略错误:

mysql -f -u username -p password -e 'source script.sql'

编辑

感谢 Ike,正确的方法是:

mysql -f -u username -p password < script.sql
于 2011-03-10T13:36:34.180 回答