MySQL如何插入

MySQL如何插入,mysql,Mysql,我这里有两个表,例如表A和表B,当这两个表都由彼此的外键组成时,如何插入数据?与表A一样,表B的属性是表B的外键引用,而表B的属性是表A的外键引用 create table abc (ID varchar(10), subID varchar(10), primary key (ID), foreign key (subID) references def(SubID) ) create table def (SubID varchar(10), ID varchar(10), primary

我这里有两个表,例如表A和表B,当这两个表都由彼此的外键组成时,如何插入数据?与表A一样,表B的属性是表B的外键引用,而表B的属性是表A的外键引用

create table abc
(ID varchar(10),
subID varchar(10),
primary key (ID),
foreign key (subID) references def(SubID)
)

create table def
(SubID varchar(10),
ID varchar(10),
primary key (SubID),
foreign key (ID) references abc(ID)
)

不知怎的,就像这样(我跳过了其他各种信息)

我认为这在您当前的设计中是不可能的

如果您确实需要对两个表进行交叉依赖性插入,请删除一个外键。然后您可以在表ABC上进行插入,然后执行DEF


我也认为你的数据库设计是不正确的

你能提供一个“真实世界”的例子吗?我认为这是一个糟糕的数据库设计。是的,当这种情况发生时,你的设计是错误的。这是完全错误的,只有改变设计才能修复它吗?或者是否有其他方法插入数据?删除外键字段后是否需要使用类似“alter table…”的内容。。。添加约束。。。外键…引用'?