运行查询以创建表时出现错误 1064?

Posted

技术标签:

【中文标题】运行查询以创建表时出现错误 1064?【英文标题】:Getting error 1064 while running query for table creation? 【发布时间】:2017-12-31 18:02:02 【问题描述】:

我已经创建了客户和产品表。在 phpmyadmin 中运行以下命令时出现此错误。CREATE TABLE orders ( id INT NOT NULL AUTO_INCREMENT, orderNumber INT, productId INT, customerId INT, orderDate DATETIME default CURRENT_TIMESTAMP, PRIMARY KEY(id), PRIMARY KEY (customerId) REFERENCES customers(id) , FOREIGN KEY (productId) REFERENCES products(id) );

1064 error

【问题讨论】:

我认为您正在尝试创建Foreign Key,但您声明了PRIMARY KEY (customerId) REFERENCES customers(id)。更正倒数第二行。改为FOREIGN KEY 是的,你解决了它。 【参考方案1】:

不能创建多个主键。

试试这个代码。

CREATE TABLE orders (
id INT NOT NULL AUTO_INCREMENT,
orderNumber INT,
productId INT,
customerId INT,
orderDate DATETIME default CURRENT_TIMESTAMP,
PRIMARY KEY(id),
FOREIGN  KEY (customerId) REFERENCES customers(id) ,
FOREIGN KEY (productId) REFERENCES products(id));

【讨论】:

你是 INT(5) 吗?但错误似乎在最后两行 见我上面的评论。无法创建 2 个主键。我认为倒数第二行应该是外键。 是的,不能创建多个主键。 你迟到了兄弟:p @sameera @pratyush choudhary 好的,但我想你会同意我的回答。如果我的回答是正确的,你能接受吗?

以上是关于运行查询以创建表时出现错误 1064?的主要内容,如果未能解决你的问题,请参考以下文章

mysql建表时出现错误,代码是1064

更新触发器后创建空字符串时出现无法解释的 MySQL 错误 #1064?

创建触发器时出现错误 1064

Mysql创建存储过程时出现ERROR 1064错误

尝试为现有表创建列时出现错误用户已存在

从同一个表中加入同一列两次时出现模棱两可的错误