我无法在phpmyadmin中创建外键。 我使用以下查询来创建2个表。第一个表是创建的,但是当我使用第二个查询时,我得到了错误
#1064 - 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 'order ( Orderid INT NOT NULL, cost INT, CustId INT NOT NULL, PRIMARY KEY(Or' at line 1
这是我的第一张表:
CREATE TABLE customer
(
CustId INT NOT NULL,
first_name VARCHAR(30),
PRIMARY KEY (CustId)
);
这是我的第二张表:
CREATE TABLE order
(
Orderid INT NOT NULL,
cost INT,
CustId INT NOT NULL,
PRIMARY KEY(Orderid),
INDEX (CustId),
FOREIGN KEY (CustId) REFERENCES customer (CustId)
);
那我在这里做错了什么?我如何创建这个表,并在phpmyadmin中实现外键。
答案 0 :(得分:1)
order
是MySQL保留字(它在ORDER BY
子句中使用),如果要将其用作表或列的名称,则必须将其括在反引号中。
CREATE TABLE `order`
(
Orderid INT NOT NULL,
cost INT,
CustId INT NOT NULL,
PRIMARY KEY(Orderid),
INDEX (CustId),
FOREIGN KEY (CustId) REFERENCES customer (CustId)
);
每当您在查询中引用它时,您都必须记住将其放入反引号中。如果您只是为表格选择不同的名称,那么您将省去很多麻烦。
答案 1 :(得分:0)
这也可以帮到你:
如果你问我,应该一直使用反引号。但是有一些原因可能导致团队不愿意使用它们。
优点:
缺点: