首页 > 解决方案 > mac os 上的 MYSQL 5.6.41 中的 FOREIGN KEY 赋值

问题描述

创建表时遇到问题。我使用了以下查询:

CREATE TABLE users (

id int NOT NULL PRIMARY KEY,
    
address_id int NOT NULL,
    
first_name VARCHAR(40),
    
last_name VARCHAR(40),
    
age int,
    FOREIGN KEY FK_address (address_id) REFERENCES address (id)
);

或者

CREATE TABLE Users (
    OrderID int NOT NULL,
    OrderNumber int NOT NULL,
    PersonID int,
    PRIMARY KEY (OrderID),
    FOREIGN KEY (PersonID) REFERENCES Persons(PersonID)
);

每次我发现错误

ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在 'KEY (address_id) REFERENCES address (id) 附近使用的正确语法

我什至尝试制作一张表格并在之后分配键

CREATE TABLE Users (
    OrderID int NOT NULL,
    OrderNumber int NOT NULL,
    PersonID int,
    PRIMARY KEY (OrderID),
);

ALTER TABLE users ADD FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);

但出现ERROR 1072 (42000): Key column 'address_id' doesn't exist in the table

任何人都可以帮助我解决问题或提供任何建议吗?

标签: mysqlmacos

解决方案


尝试这个,

创建表地址(add_Id 编号主键);

CREATE TABLE users ( id int NOT NULL PRIMARY KEY, <br> address_id int NOT NULL, <br> first_name VARCHAR(40), <br> last_name VARCHAR(40), <br> age int, CONSTRAINT FK_address FOREIGN KEY (address_id)参考地址(add_id));


推荐阅读