gpt4 book ai didi

mysql - Innodb不接受外键

转载 作者:行者123 更新时间:2023-11-29 06:08:13 27 4
gpt4 key购买 nike

我们无法运行下面的查询。我们有另一个名为“person”的表,它有一个主键 person_id。正如您所看到的,我们正在尝试将此列作为我们(客户表)的外键。 phpMyAdmin 返回 #1064 语法错误。这里出了什么问题?

CREATE  TABLE IF NOT EXISTS `resort`.`customers` (
`person_id` VARCHAR(45) NOT NULL ,
`cid` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
UNIQUE INDEX `person_id_UNIQUE` (`cid` ASC) ,
PRIMARY KEY (`person_id`) ,
UNIQUE INDEX `person_id_UNIQUE` (`person_id` ASC) ,
CONSTRAINT `person_id`
FOREIGN KEY ()
REFERENCES `resort`.`person` ()
ON DELETE CASCADE
ON UPDATE CASCADE)
ENGINE = InnoDB

顺便说一下,这个查询是由 Oracle 的 MySQL Workbench 生成的。

最佳答案

您需要在约束定义中包含这些列:

CONSTRAINT person_id
FOREIGN KEY ()
REFERENCES resort.person()
ON DELETE CASCADE
ON UPDATE CASCADE

应该是:

CONSTRAINT fk_person_id
FOREIGN KEY (person_id)
REFERENCES resort.person (id)
ON DELETE CASCADE
ON UPDATE CASCADE

关于mysql - Innodb不接受外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10430272/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com