您好,亲爱的斯塔克溢出用户,
我正在开发一个数据库来添加到我的项目中。但是,我很难找到正确的方法,在MySQL中使用PHPmyadmin建立关系。
我写了以下几封信:
CREATE TABLE Orders (
OrderID int(255) NOT NULL,
Price decimal(65,2),
Order_date DATE,
UserID Int(255) NOT NULL,
PRIMARY KEY (OrderID),
FOREIGN KEY (UserID) REFERENCES Users(UserID)
);
CREATE TABLE Users(
UserID Varchar(255) NOT NULL,
Password Varchar(12) NOT NULL,
PRIMARY KEY(UserID)
);但是我一直收到一个错误,告诉我我的外键格式不正确。我是不是遗漏了什么?PHPmyadmin是否使用了一种不同的查询方式?
我已经看到一些源代码告诉我要使用index或稍后使用表修饰符和索引来分配主键和外键,但这似乎是不必要的额外步骤,除非这确实是唯一的方法。我的知识还很有限。
错误消息:(errno: 150“外键约束格式不正确”)
发布于 2022-03-23 10:07:18
Users,然后是Users引用列,数据类型不兼容-- Users.UserID定义为Varchar(255),而Orders.User_id定义为Int(255)。必须在两个表中设置相同的数据类型。对于id列,INT数据类型似乎是最合理的。PS。Int(255)不安全,整数数据类型不能存储255个数字。并且长度指定将被忽略任何情况。此外,它是不可取的,所以完全删除它。
发布于 2022-03-23 09:57:06
也许你能试着改变创建表的顺序吗?尝试创建第一个用户,然后订购
https://stackoverflow.com/questions/71585130
复制相似问题