如何用另一个表更新具有ON UPDATE RESTRICT的外键约束的主键?

时间:2017-05-11 02:54:29

标签: mysql referential-integrity

我有以下表格

tblA(id,name,address) pk:id

tblB(depname,depaddress,depmanager_id) pk:depname fk: depmanager_id reference tblA(id on update restrict)

他们有以下数据:

tblA

id    name    address
1     jazz    kathmandu
2     hari    pokhara

tblB
depname    depaddress    depmanager
HR         Chicago        1
ECA        Paris          2

现在的情况是我想用不同的id更新tblA中id为1的记录的id。 我该怎么做? (PS:要求声明我不能改变表的现有结构,也不能创建任何新表)

1 个答案:

答案 0 :(得分:0)

您应该创建一个新表(tblA1)并使用新ID从tblA插入数据。

之后,删除FK,使用新的id更新第二个表(tblB)(将tblA ID映射到tblA1 ID)。

正确映射id后,您可以在tblB和tblA1之间设置新的FK。