我尝试创建 3 个简单的表,但第 8 行出现错误,我不明白为什么。
CREATE TABLE Customers(
CustomerID INT AUTO_INCREMENT PRIMARY KEY,
CustomerName VARCHAR(200),
Email VARCHAR(200),
Age INT
)
CREATE TABLE Products(
ProductID INT AUTO_INCREMENT PRIMARY KEY,
Title VARCHAR(200),
Price INT
)
CREATE TABLE Orders(
OrderID INT AUTO_INCREMENT PRIMARY KEY,
CustomerID INT,
FOREIGN KEY(CustomerID) REFERENCES Customers(CustomerID),
ProductID INT,
FOREIGN KEY(ProductID) REFERENCES Products(ProductID),
Quantity INT,
OrderDate DATETIME
)
我收到错误:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CREATE TABLE Products(
ProductID INT AUTO_INCREMENT PRIMARY KEY,
Title V' at line 8
有什么问题吗?这是一个简单的表创建。
最佳答案
你的代码没问题。您必须在每个 SQL 语句末尾添加分号 (;)。
CREATE TABLE Customers(
CustomerID INT AUTO_INCREMENT PRIMARY KEY,
CustomerName VARCHAR(200),
Email VARCHAR(200),
Age INT
);
CREATE TABLE Products(
ProductID INT AUTO_INCREMENT PRIMARY KEY,
Title VARCHAR(200),
Price INT
);
CREATE TABLE Orders(
OrderID INT AUTO_INCREMENT PRIMARY KEY,
CustomerID INT,
FOREIGN KEY(CustomerID) REFERENCES Customers(CustomerID),
ProductID INT,
FOREIGN KEY(ProductID) REFERENCES Products(ProductID),
Quantity INT,
OrderDate DATETIME
);
在线演示:http://sqlfiddle.com/#!9/cbf746e/2/0
更新
如Strawberry comment中提到,不要使用年龄作为列。请改用出生日期。使用出生日期,您可以计算年龄。
DateOfBirth DATE
关于mysql - 当我尝试创建表时出现错误,但我不明白为什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55088025/