Mysql更改与另一个表有关系的主键列
我可以将另一个表中具有关系的主键列更改为自动递增吗 这是我的密码Mysql更改与另一个表有关系的主键列,mysql,primary-key,auto-increment,Mysql,Primary Key,Auto Increment,我可以将另一个表中具有关系的主键列更改为自动递增吗 这是我的密码 alter table sales_agreement modify column client_id int(11) auto_increment ; 但我得到了一个错误:- Cannot change column 'Client_id': used in a foreign key constraint 'Relationship5' of table ' order_sheet' 编辑 销售协议表 CRE
alter table sales_agreement modify column client_id int(11) auto_increment ;
但我得到了一个错误:-
Cannot change column 'Client_id': used in a foreign key constraint 'Relationship5' of table ' order_sheet'
编辑
销售协议表
CREATE TABLE Sales_Agreement
(
Client_id Int NOT NULL,
Client Varchar(200) NOT NULL,
PRIMARY KEY (Client_id)
) ;
表格订购单
CREATE TABLE Sales.Order_Sheet
(
Client_id Int NOT NULL
)
;
ALTER TABLE Sales.Order_Sheet ADD PRIMARY KEY (Client_id)
;
ALTER TABLE Order_Sheet ADD CONSTRAINT Relationship5 FOREIGN KEY (Client_id) REFERENCES Sales_Agreement (Client_id)
;
首先尝试删除外键 更改表格
'Order_Sheet'
删除外键'Relationship5'
然后通过修改主键来修改表 不能放弃“关系5”;检查列/键是否存在请查看我的编辑。是否可以执行
alter table order\u sheet drop外键关系5代码>然后再试?对不起,我弄错了,外键在订单表上。应立即工作错误1062(23000):ALTER TABLE导致自动增量重新排序,导致键“PRIMARY”的重复条目“1”,因此,您是否有客户端id为0的记录?您可以运行select*from Order_Sheet,其中Client_id=0如果列中有0,则不允许对该列执行代码>自动递增