0
我有一個Account表和一個Customer表。一個帳戶有很多客戶。客戶的名稱在其引用的帳戶中是唯一的。意思是,屬於同一個帳戶的兩個客戶應該有一個唯一的名稱。我如何應用這個約束?以下是mysql表結構。如何在外鍵範圍內定義unqiue限制
謝謝。
CREATE TABLE IF NOT EXISTS `sample`.`Account` (
`id` BIGINT NOT NULL AUTO_INCREMENT,
`email` VARCHAR(45) NOT NULL,
`password` VARCHAR(45) NULL,
`created_date` DATE NOT NULL,
PRIMARY KEY (`id`),
UNIQUE INDEX `email_UNIQUE` (`email` ASC))
ENGINE = InnoDB
AUTO_INCREMENT = 0;
CREATE TABLE IF NOT EXISTS `sample`.`Customer` (
`id` BIGINT NOT NULL AUTO_INCREMENT,
`name` VARCHAR(45) NOT NULL,
PRIMARY KEY (`id`),
INDEX `account_fk_id_idx` (`account_id` ASC),
CONSTRAINT `account_fk_id`
FOREIGN KEY (`account_id`)
REFERENCES `sample`.`Account` (`id`)
ON DELETE CASCADE
ON UPDATE NO ACTION)
ENGINE = InnoDB
AUTO_INCREMENT = 0;
定義指定的帳戶組,並將客戶表中的組標識用作外鍵之一。 –