我有一个表cities
:
<表类>
id
城市
tbody><<tr>1 温哥华 2卡尔加里 3 Calgry 表类>
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。