我有一个使用 Hibernate 来支持 Oracle 和 MySQL 数据库的应用程序。更新后,我必须手动删除一些带有索引/约束的列。这些索引具有 Hibernate 生成的随机名称。
在 Oracle 中,我可以这样做:
ALTER TABLE table_name DROP (column_name) CASCADE CONSTRAINTS;
不幸的是,这对 MySQL 来说是不可能的。有没有可能做这样的事情
DROP INDEX (SELECT Key_name FROM (SHOW INDEX FROM table_name WHERE Column_name = 'column_name')) ON table_name;
在我删除列之前?
编辑:这应该可以在 SQL 脚本中没有用户交互的情况下工作。