在 SQL 中一起"Merging" ID



我有一个表cities:

<表类> id 城市 tbody><<tr>1温哥华2卡尔加里3Calgry

ON UPDATE CASCADE会导致重复的PK。为了避免这种情况,我们可以使用ON DELETE SET NULL,一旦我们从cities表中删除city_id 3,它就会使其他表中所有值为3的city_id无效,但随后您仍然需要将上述表中的city_id从null更改为2。这与将其他表的city_id值更改为3到2没有根本区别,然后从城市表中删除id 3。如果您不愿意手动执行此操作,或者需要处理的表太多,那么可以使用过程。创建一个表的列表,为列表声明一个游标,循环遍历列表以获取每个表名,并使用准备好的语句执行UPDATE。

最新更新