帮助:错误1025(HY000):重命名错误…(错误:150)
当我尝试运行alter table命令删除列时出现此错误:错误1025(HY000):错误重命名….(错误:150)。
如果我理解正确,这是一个外键问题,但我不知道如何解决这个问题。 会有人这样善良,告诉我如何得到它的工作。
用于创build表的代码:
CREATE TABLE categories( cid INT AUTO_INCREMENT NOT NULL PRIMARY KEY, assets_id INT NOT NULL, cat_name VARCHAR(30) NOT NULL, INDEX(assets_id), FOREIGN KEY (assets_id) REFERENCES asset(aid) ON UPDATE CASCADE ) ENGINE=INNODB DEFAULT CHARSET=utf8;
alter命令:
ALTER TABLE categories DROP COLUMN assets_id;
表格类别是完全空白的。 所以没有信息来引起CASCADE的限制。 那么你能帮我什么样的巫术,我需要删除列assets_id。 谢谢。
使用SHOW CREATE TABLE categories
来显示约束的名称。
最有可能的将是categories_ibfk_1
使用名称先删除外键,然后再删除列:
ALTER TABLE categories DROP FOREIGN KEY categories_ibfk_1; ALTER TABLE categories DROP COLUMN assets_id;
对我来说,问题是另一回事:
该网站(意外)为每个人访问。 所以更新脚本是多次启动。 这引起了像这样的错误的竞争条件。
– >确保网站只被访问一次,直到每个脚本完成!