foriegn密钥引用不在mysql中工作

时间:2016-12-01 09:35:22

标签: mysql

我正在尝试使用primary和foriegn键引用在mysql中创建引用,但它没有显示 db 这是我的数据库的架构

[CREATE TABLE fname(
id INT PRIMARY KEY AUTO_INCREMENT,
fname VARCHAR(29))

CREATE TABLE parent(
p_id INT PRIMARY KEY AUTO_INCREMENT,
id INT,
FOREIGN KEY(id) REFERENCES fname(id)
)

2 个答案:

答案 0 :(得分:0)

从我在评论中看到的删除答案,您希望在中插入一个值,并在 fname 中自动提供该值。这不是外键工作的方式。外键只允许在 fname 中存在 parent 中已存在(意味着插入之前)的值。

如果这不是您想要的,请详细解释您的问题。

答案 1 :(得分:0)

CREATE TABLE fname(
id INT PRIMARY KEY AUTO_INCREMENT,
fname VARCHAR(29));

CREATE TABLE parent(
p_id INT PRIMARY KEY AUTO_INCREMENT,
id INT,
CONSTRAINT `fk11`
    FOREIGN KEY (`id`)
    REFERENCES `fname` (`id`)
);

参考:https://dev.mysql.com/doc/refman/5.5/en/create-table-foreign-keys.html

PS:虽然SO是一个人们准备提供帮助的社区,但在此处提问之前,最好先查看文档或进行简单的网络搜索。