尝试更改数据库中的字段名,但出现错误

41zrol4v  于 2021-06-15  发布在  Mysql
关注(0)|答案(1)|浏览(292)


我有一个论坛数据库有两个表,帖子+主题,我试着改变域名从 topic_idphoto_id 但是我有
“字段列表中的未知主题id”

这是我的第二张table

我得到这个错误是因为外键出现在第二个表中吗?
作为记录,我也在处理代码
把我的topic\u id改成photo\u id就意味着我必须把每页的代码都改成topic\u id改成photo\u id,对吧?

djmepvbi

djmepvbi1#

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

相关问题