MySQL:使用删除索引更改忽略表
我有很多数据库,每个数据库都有表名称
。在某些情况下,我有名为 name1
的唯一密钥,而在其他情况下,相同的唯一密钥名为 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
如何在每个数据库上运行一组查询?
I have many databases and in each I have table names
. In some I have UNIQUE KEY named name1
and in others the same UNIQUE KEY is named name2
. I want to standard this name so I prepared 3 queries to run on each database:
ALTER IGNORE TABLE `names`
DROP INDEX `name1`;
ALTER IGNORE TABLE `names`
DROP INDEX `name2`;
ALTER TABLE `names`
ADD UNIQUE `new_name` (`name`, `surname`);
But I got error:
SQL Error (1091): Can't DROP 'name1'; check that column/key exists
How can I make one set of queries to run on each database?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您从命令行执行 SQL 脚本文件,您可以尝试忽略错误:
编辑
感谢 Ike,正确的方法是:
You can attempt to ignore errors if you're executing your SQL script file from command line:
EDIT
Thanks to Ike, the correct way to do this is: