繁体   English   中英

如何使用外键修复 MySQL 错误代码 1064

[英]How to fix MySQL error code 1064 with foreign key

CREATE TABLE IF NOT EXISTS lineitem (
line_no         INT(11)                                             NOT NULL,
line_invoiceId  INT(11) FOREIGN KEY REFERENCES invoice(inv_id)      NOT NULL,
line_productId  INT(11) FOREIGN KEY REFERENCES products(id)         NOT NULL,
line_price      DECIMAL(10,2)                                       NOT NULL,
PRIMARY KEY (line_no, line_invoiceId)
);

错误代码 1064

删除FOREIGN KEY 您在这里使用的是缩写语法,而不是完整的 SQL 语法用于外键约束。

例如:

create table invoice (inv_id int(11) primary key not null);

create table products (id int(11) primary key not null);

CREATE TABLE IF NOT EXISTS lineitem (
  line_no        INT(11) NOT NULL,
  line_invoiceId INT(11) NOT NULL REFERENCES invoice(inv_id),
  line_productId INT(11) NOT NULL REFERENCES products(id),
  line_price     DECIMAL(10,2) NOT NULL,
  PRIMARY KEY (line_no, line_invoiceId)
);

请参阅SQL 小提琴

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM