0

我有两个相关的表:组和客户。客户属于组,所以我有一个外键“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$$
4

0 回答 0