如何解决尝试用默认值填充表格
我有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 举报,一经查实,本站将立刻删除。