Mysql Can';t更改表格以删除外键导致的自动增量
我正在尝试从我的MySQL数据库的Mysql Can';t更改表格以删除外键导致的自动增量,mysql,Mysql,我正在尝试从我的MySQL数据库的列\u id中删除Auto\u Increment。但是,当我使用此命令时,列是表的主键 ALTER TABLE Profile MODIFY _id INT PRIMARY KEY NOT NULL 我收到一个错误,告诉我我不能这样做,因为还有其他表引用了主键 因此,我的问题是:有没有办法解决这个问题 1.在进行此更改之前删除关系 2.在进行此更改之前删除其他表格 3.使用诸如更新/级联之类的方法更改关系(表)(不确定这是否有用)最简单、最快的方法如下: s
列\u id中删除Auto\u Increment。但是,当我使用此命令时,列
是表的主键
ALTER TABLE Profile
MODIFY _id INT PRIMARY KEY NOT NULL
我收到一个错误,告诉我我不能这样做,因为还有其他表引用了主键
因此,我的问题是:有没有办法解决这个问题
1.在进行此更改之前删除关系
2.在进行此更改之前删除其他表格
3.使用诸如更新/级联之类的方法更改关系(表)(不确定这是否有用)最简单、最快的方法如下:
set foreign_key_checks = 0;
alter table Profile change column _id _id INT NOT NULL;
set foreign_key_checks = 1;
找到从其他表中删除外键,更改您的表并重新创建FORREVIE键。设置外键检查=0代码>完成后启用它,但主键和自动递增几乎是同义词。为什么要这样做?@Mihai:这是解决这个问题的一个可能方法,我有这个答案吗?有没有一种方法可以在不丢失相关表数据的情况下删除关系?我最终使用了Mihai的解决方案,将外键检查设置为零,然后在插入想要的值后返回到一