微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

尝试用默认值填充表格

如何解决尝试用默认值填充表格

我有2个表格,供应商和产品。我正在尝试用随机信息填充它们。 表格产品,列vendor_id。我将此列default的值设置为 -1

在尝试在给定列中插入认值的行上出现错误。 检查下面的代码,帖子底部错误消息。

供应商:

CREATE TABLE suppliers
(
 id int primary key identity(1,1),"name" nvarchar(50) not null,telephone nvarchar(50) default 'N/A',"address" nvarchar(50) default 'N/A'

)
INSERT INTO suppliers (name,telephone,address)
values ('supplier 1','021-555-333','Jovana Petrovica 72,Beograd 11000'),('supplier 2','Branka Radicevica 13,Zrenjanin 23000'),('supplier 3','Bulevar oslobodjenja 30A,Novi Sad 21000')

产品:

CREATE TABLE Products
(
 id int primary key identity(1,price float default 0,supplier_id int default -1,foreign key (supplier_id) references suppliers(id) ON DELETE SET DEFAULT 

)
INSERT INTO Products (name,price,supplier_id)
values ('Product 1',800,3),('Product 2',1300,('Product 3',230,2),('Product 4',570,('Product 5',1225,2);
INSERT INTO Products (name,price)
values ('Product 6',80); // I read online this is the way to insert default values (?)

错误消息:

INSERT语句与FOREIGN KEY约束“ FK__Products__suppli__03F0984C”发生冲突。数据库“ Tehna”的表“ dbo.suppliers”的列“ id”中发生了冲突。 该声明已终止。

解决方法

我猜默认的'supplier_id'应该大于0或为null,因为它与Suppliers中的'id'有关,后者既是主键又是整数

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。