帮助与:错误1025(HY000):....重命名时出错(错误号:150) [英] Help with: ERROR 1025 (HY000): Error on rename of .... (errno: 150)
问题描述
当我尝试运行alter table命令删除列时出现此错误: 错误1025(HY000):重命名....(errno:150)时出错.
I am getting this error when I am trying to run an alter table command to drop a column: ERROR 1025 (HY000): Error on rename of .... (errno: 150).
如果我正确理解这是一个外键问题,但是我不知道如何解决它.有人会这么好心,告诉我如何使它工作.
If I understand correctly it is a foreign key problem, but I do not have a clue how to fix it. Would somebody be so kind and tell me how to get it working.
用于创建表格的代码:
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所需的哪种向导.谢谢.
The table categories is completely blank. So there is no information to set off the CASCADE restrictions. So could you help me what kind of wizardry do I need to delete the column assets_id. Thank you.
推荐答案
使用SHOW CREATE TABLE categories
显示约束的名称.
最有可能是categories_ibfk_1
使用名称先删除外键,然后再删除列:
Use the name to drop the foreign key first and the column then:
ALTER TABLE categories DROP FOREIGN KEY categories_ibfk_1;
ALTER TABLE categories DROP COLUMN assets_id;
这篇关于帮助与:错误1025(HY000):....重命名时出错(错误号:150)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!