gpt4 book ai didi

mysql - 如何修复 MySQL 中的外键错误?

转载 作者:行者123 更新时间:2023-11-30 21:31:37 24 4
gpt4 key购买 nike

我在 Virtualbox 上使用 Ubuntu。我正在尝试为数据库编写 SQL,但是每当我使用外键创建 SQL 时,它总是返回错误

CREATE TABLE Vehicles (Vehicle ID int, Vehicle Type VARCHAR(255), Model VARCHAR(255), Engine Size float, Condition VARCHAR(255), Price float, PRIMARY KEY (Vehicle ID), FOREIGN KEY (Model) REFERENCES Models(Model));

你能帮帮我吗?下面是我创建数据库的 SQL 表语句,所以我的代码中可能有错误?

CREATE TABLE Models (
Model_ID int NOT NULL,
Manufacturer VARCHAR(255) NOT NULL,
Model_name VARCHAR(255) NOT NULL,
Wheel_Drive_Type VARCHAR(255) NOT NULL,
PRIMARY KEY (Model_ID));

CREATE TABLE Customers (
Customer_ID int NOT NULL,
Customer_name VARCHAR(255) NOT NULL,
Customer_Contact_number VARCHAR(255) NOT NULL,
Customer_Address VARCHAR(255) NOT NULL,
Customer_Email VARCHAR(255) NOT NULL,
PRIMARY KEY (Customer_ID));

CREATE TABLE Vehicles (
Vehicle_ID int NOT NULL,
Vehicle_Type VARCHAR(255) NOT NULL,
Model_name VARCHAR(255) NOT NULL,
Engine_Size float NOT NULL,
Condition VARCHAR(255) NOT NULL,
Price float NOT NULL,
PRIMARY KEY (Vehicle_ID),
FOREIGN KEY (Model) REFERENCES Models(Model_name));

CREATE TABLE Enquiries (
Enquiry_ID int NOT NULL,
Vehicle int NOT NULL,
Customer_ID int NOT NULL,
Additional_information VARCHAR(255) NOT NULL,
PRIMARY KEY (Enquiry_ID),
FOREIGN KEY (Vehicle_ID) REFERENCES Vehicles(Vehicle_ID),
FOREIGN KEY (Customer_ID) REFERENCES Customers(Customer_ID));

CREATE TABLE Sales (
Sales_ID int NOT NULL,
Vehicle_ID int NOT NULL,
Customer_ID int NOT NULL,
Date_of_sale VARCHAR(255) NOT NULL,
Sale_Type VARCHAR(255) NOT NULL,
PRIMARY KEY (Sale_ID),
FOREIGN KEY (Vehicle_ID) REFERENCES Vehicles(Vehicle_ID),
FOREIGN KEY (Customer_ID) REFERENCES Customers(Customer_ID));

最佳答案

您的 SQL 将空格作为标识符的一部分,这是不允许的。例如 (Customer ID) 而不是 (Customer_ID)。在整个示例代码中都是如此。此外,在使用外键时,请确保您具有相同的类型,包括签名/未签名。如果您使用的是 utf8mb4,则 varchar 索引被限制为 191 而不是 255,并且您希望使用外键引用的字段也是一个索引。 (此建议可能已过时,具体取决于您的版本,但空格是个问题。)

关于mysql - 如何修复 MySQL 中的外键错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55875863/

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