首页 > 解决方案 > 尝试更改我的数据库中的字段名称并出现错误

问题描述

在此处输入图像描述

我有一个论坛数据库,其中包含两个表、帖子 + 主题,我尝试将字段名称从 更改topic_idphoto_id,但我得到了

“字段列表中的未知 topic_id

在此处输入图像描述

这是我的第二张桌子

在此处输入图像描述

我是否因为第二个表中出现外键而收到此错误?

为了记录,我也在使用代码

将我的 topic_id 更改为 photo_id 意味着我必须在每个页面上将所有代码更改为 topic_id 到 photo_id 对吗?

标签: mysqleclipse

解决方案


如果您尝试更改 id 列,则必须首先更改主列表,然后再更改另一个表。

alter table database.yourMainTable
    change column topic_id photo_id int(11) not null auto_increment

然后你必须删除你的第二个表的约束外键重要的是这样做并更改列名。

ALTER TABLE database.yoursecondtable
  DROP FOREIGN KEY yourSecondTable,   -- if you don't know you can check it with you phpadmin.
  CHANGE COLUMN topic_id photo_id int(11) not null auto_increment --the type of both columns have to be same

最后添加约束和对第一个表的引用;)

ALTER TABLE database.yoursecondtable
  ADD CONSTRAINT fk_yourconstraintforeignkey
    FOREIGN KEY (newid) REFERENCES gimnasio.planes(idnew)
    ON DELETE CASCADE
        ON UPDATE CASCADE

推荐阅读