SQL Fiddle - 无法添加外键约束

战锤

我在为我的 salesorderslineitem 表构建架构时遇到问题。即使我尝试在小提琴中自行构建模式。我收到一个错误消息无法添加外键约束...这里我的表一起试图让新的 salesorderslineitem 表工作。谢谢大家!

CREATE TABLE salesorders
( donut_order_id             INT(10) NOT NULL AUTO_INCREMENT,
  customer_id                INT,
  date                       DATETIME,
  special_handling_note      TEXT,
  PRIMARY KEY (donut_order_id),
  FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);

INSERT INTO salesorders
 (donut_order_id,date,special_handling_note)

VALUES( 0000001,"2018-04-22","Please include plates and napkins");

CREATE TABLE salesorderslineitem
(
  donut_order_id     INT(10) NOT NULL, 
  donut_id           INT(10) NOT NULL,
  qty                INT(10) NOT NULL,
  PRIMARY KEY (donut_order_id, donut_id),
  FOREIGN KEY (donut_order_id) REFERENCES salesorders(donut_order_id),
  FOREIGN KEY (donut_id) REFERENCES donuts(donut_id)
 );

INSERT INTO salesorderslineitem
 (qty)

VALUES (10);

CREATE TABLE donuts
 (donut_id     INT(10) NOT NULL AUTO_INCREMENT,
  name         VARCHAR(30),
  description  VARCHAR(50),
  unit_price   DECIMAL(8,3),
  PRIMARY KEY (donut_id)
 );

INSERT INTO donuts
 (name,description,unit_price)
湿婆

我已经解决了你所有的问题。

这是一个有效的 SQLFiddle。http://sqlfiddle.com/#!9/5071d0

第一个问题是没有CREATE StatementCustomers定义,并试图CREATE TABLE salesorders在下一行语句中向这个不存在的表添加外键

FOREIGN KEY (customer_id) REFERENCES customers(customer_id)

为了解决这个问题,我CREATE TABLE CustomersSalesOrdersCREATE 语句之前写了这个部分

那只是1个问题。您还在SalesOrders表之前创建Donuts表并尝试添加FOREIGN KEY约束。

最后,您在Donuts表中没有任何记录,所以我Jelly Donut为您创建了一个:)

为了完整起见,下面发布了 SQLFiddle 代码。

CREATE TABLE customers ( 
  customer_id INT(10) NOT NULL AUTO_INCREMENT, 
  customer_name VARCHAR(100) NOT NULL,
  PRIMARY KEY (customer_id)
  );

CREATE TABLE donuts (
  donut_id INT(10) NOT NULL AUTO_INCREMENT, 
  name VARCHAR(30), 
  description VARCHAR(50), 
  unit_price DECIMAL(8,3), 
  PRIMARY KEY (donut_id) );

INSERT INTO donuts (donut_id,name,description,unit_price)  
VALUES (1,"Jelly Donut","Delicious Donut filled with Raspberry Jelly inside",1.99);

CREATE TABLE salesorders ( 
  donut_order_id INT(10) NOT NULL AUTO_INCREMENT, 
  customer_id INT, date DATETIME, 
  special_handling_note TEXT, 
  PRIMARY KEY (donut_order_id), 
  FOREIGN KEY (customer_id) REFERENCES customers(customer_id) );

INSERT INTO salesorders ( donut_order_id,date,special_handling_note )
VALUES( 0000001,"2018-04-22","Please include plates and napkins" );

CREATE TABLE salesorderslineitem ( 
  donut_order_id INT(10) NOT NULL, 
  donut_id INT(10) NOT NULL, qty INT(10) NOT NULL, 
  PRIMARY KEY (donut_order_id, donut_id),
  FOREIGN KEY (donut_order_id) 
  REFERENCES salesorders(donut_order_id), 
  FOREIGN KEY (donut_id) REFERENCES donuts(donut_id) );

INSERT INTO salesorderslineitem (donut_order_id,donut_id, qty) VALUES (0000001,1, 12);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL-无法添加外键约束

来自分类Dev

构建架构时无法添加外键约束SQL

来自分类Dev

SQL错误#1215-无法添加外键约束

来自分类Dev

SQL错误(1215):无法添加外键约束

来自分类Dev

SQL错误1822:无法添加外键约束。约束缺少索引,但索引已存在

来自分类Dev

无法添加或更新子行:外键约束失败(`dbName`。`#sql-e77_7`

来自分类Dev

为什么在以下sql命令中出现“无法添加外键约束”错误?

来自分类Dev

错误SQL:无法添加或更新子行:外键约束失败

来自分类Dev

为什么在以下sql命令中出现“无法添加外键约束”错误?

来自分类Dev

无法添加或更新子行:外键约束失败(`dbName`。`#sql-e77_7`

来自分类Dev

SQL约束:外键

来自分类Dev

SQL Fiddle 上的 INSERT INTO 失败

来自分类Dev

无法添加外键约束

来自分类Dev

无法添加外键约束

来自分类Dev

SQL-外键约束和基数

来自分类Dev

SQL Server外键约束问题

来自分类Dev

SQL外键约束格式错误

来自分类Dev

SQL-外键约束和基数

来自分类Dev

创建外键约束的SQL Server错误

来自分类Dev

SQL删除查询外键约束

来自分类Dev

SQL Server:约束和外键

来自分类Dev

SQL - (外键?)对表名的约束?

来自分类Dev

jQuery CheckBox选择-添加了Fiddle

来自分类Dev

从Azure SQL导出数据后如何添加主键和外键约束

来自分类Dev

无法创建表“外键约束格式不正确” SQL

来自分类Dev

无法在MySQL中添加外键约束

来自分类Dev

#1215-无法添加外键约束

来自分类Dev

MySQL-“无法添加外键约束”

来自分类Dev

无法添加外键约束-MySQL Workbench