我有两个相关的表:组和客户。客户属于组,所以我有一个外键“group_id”,它引用了客户所属的组。
我正在将 Group id 从自动增量更改为 UUID。所以我需要为每个组生成一个 UUID 并立即更新 Clients 表以反映更改并保持记录相关。
有没有办法通过 MySQL 上的多表更新来做到这一点?
添加表定义以进行说明。
CREATE TABLE `groups` (
`id` char(36) NOT NULL,
`name` varchar(255) DEFAULT NULL,
`created` datetime DEFAULT NULL,
`modified` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8$$
CREATE TABLE `clients` (
`id` char(36) NOT NULL,
`name` varchar(255) NOT NULL,
`group_id` char(36) DEFAULT NULL,
`active` tinyint(1) DEFAULT '1'
PRIMARY KEY (`id`),
KEY `fkgp` (`group_id`),
CONSTRAINT `fkgp` FOREIGN KEY (`group_id`) REFERENCES `groups` (`id`)
ON DELETE NO ACTION ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8$$