尝试更改数据库中的字段名称并收到错误

时间:2018-12-04 21:50:47

标签: mysql eclipse

enter image description here

我有一个包含两个表,帖子和主题的论坛数据库,我尝试将字段名称从topic_id更改为photo_id,但是得到了

  

”字段列表中的未知topic_id

enter image description here

这是我的第二张桌子

enter image description here

由于外键出现在第二张表中,我是否收到此错误?

出于记录,我也正在使用代码

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

1 个答案:

答案 0 :(得分:0)

如果尝试更改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