gpt4 book ai didi

mysql - 添加一个 FOREIGN KEY 但说该列在它存在时不存在?

转载 作者:太空宇宙 更新时间:2023-11-03 10:30:59 26 4
gpt4 key购买 nike

我创建了两个表

员工

CREATE TABLE employee (
emp_id INT AUTO_INCREMENT NOT NULL,
first_name VARCHAR(20) NOT NULL,
last_name VARCHAR(20) NOT NULL,
address VARCHAR(20) NOT NULL,
PRIMARY KEY (emp_id)
);

团队

CREATE TABLE team (
team_id INT AUTO_INCREMENT NOT NULL,
name VARCHAR(20),
manager_id INT (20),
PRIMARY KEY (team_id)
);

我正在尝试添加一个外键:

ALTER TABLE employee ADD FOREIGN KEY (manager_id) REFERENCES team(manager_id);

它给我一个错误,告诉我该列不存在

ERROR 1072 (42000): Key column 'manager_id' doesn't exist in table

但是当我 Describe team

时它确实显示了
| Field      | Type        | Null | Key | Default | Extra          |
+------------+-------------+------+-----+---------+----------------+
| team_id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(20) | YES | | NULL | |
| manager_id | int(20) | YES | | NULL | |
+------------+-------------+------+-----+---------+----------------+

最佳答案

manager_id 不存在于表 employee 中。

像这样的东西会更有意义:

ALTER TABLE team ADD FOREIGN KEY (manager_id) REFERENCES employee(emp_id);

可能,您还构建了一个表来表示员工和团队之间的关系。截至目前,您的架构中的任何内容都不能用于将员工与一个或多个团队相关联。

关于mysql - 添加一个 FOREIGN KEY 但说该列在它存在时不存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58584568/

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