【发布时间】:2018-10-13 18:33:22
【问题描述】:
我现在正在处理的任务有问题。问题是:
编写一条 INSERT 语句,将此行添加到 Products 表中:
- ProductID:下一个自动生成的ID
- 类别 ID:4
- 产品代码:dgx_640
- 产品名称:Yamaha DGX 640 88键数码钢琴
- 描述:详细描述即将到来。
- ListPrice: 799.99
- 折扣百分比:0
- 添加日期:今天的日期/时间。
为该语句使用列列表。
而我想出的答案是:
INSERT INTO Products(CategoryID, ProductCode, ProductName, Description, ListPrice, DiscountPercent, DateAdded)
VALUES (4, 'dgx_640', 'Yamaha DGX 640 88-Key Digital Piano', 'Long description to come.', 799.99, 0, SYSDATETIME())
但是当我尝试执行它时,会出现一个错误提示
INSERT 语句与 FOREIGN KEY 约束“FK__Products__Catego__3B75D760”冲突。冲突发生在数据库“MyGuitarShop”、表“dbo.Categories”、列“CategoryID”中。 声明已终止。
任何帮助将不胜感激
【问题讨论】:
-
问题是什么? insert 语句试图插入一行,该行的值引用另一个表,其中不存在对应的行。从约束的名称来看,它将是引用类别表中现有类别的类别值。您是否检查过类别表中有一个 CategoryID 为 4 的行?
标签: sql sql-server