【发布时间】:2011-11-05 09:23:12
【问题描述】:
我知道这是相当基本的,我已经搜索了很长一段时间的答案,但我很困扰。
我不知道如何使我的代码在此处可读,但在这里。
这是用于制作相关表格的查询:
CREATE TABLE customer
( customer_id INT NOT NULL CONSTRAINT customer_pk PRIMARY KEY IDENTITY,
first_name VARCHAR(20) NOT NULL,
surname VARCHAR(20) NOT NULL,
dob DATETIME NOT NULL,
home_address VARCHAR(50) NOT NULL,
contact_number VARCHAR(10) NOT NULL,
referrer_id INT NULL FOREIGN KEY REFERENCES customer(customer_id),
);
这是问题代码:
--fill customer table
INSERT INTO customer
VALUES ( 'Harold', 'Kumar', '2010-07-07 14:03:54', '3 Blue Ln, Perth', 0812391245, NULL )
INSERT INTO customer
VALUES ( 'Bingo', 'Washisnameoh', '2010-09-21 12:30:07', '3 Red St, Perth', 0858239471, NULL )
INSERT INTO customer
VALUES ( 'John', 'Green', '2010-11-07 14:13:34', '4 Blue St, Perth', 0423904823, NULL )
INSERT INTO customer
VALUES ( 'Amir', 'Blumenfeld', '2010-11-01 11:03:04', '166 Yellow Rd, Perth', 0432058323, NULL)
INSERT INTO customer
VALUES ( 'Hank', 'Green', '2010-07-07 16:04:24', '444 Orange Crs, Perth', 0898412429, 8)
(特别是末尾有 8 值的那一行。)
当执行第二个查询时,它会这样响应:
消息 547,第 16 级,状态 0,第 1 行
INSERT 语句冲突 具有 FOREIGN KEY SAME TABLE 约束 “FK_客户_referr__5772F790”。数据库发生冲突 “master”,表“dbo.customer”,列“customer_id”。该声明 已终止。
感谢您对此的帮助。
【问题讨论】:
-
这是 sql server 吗?你有一个名为 master 的数据库?
-
您是否不小心将表运行到 master 中?
-
@marc_s 谢谢我下次再做。
-
@Icarus 这是我正在使用的 sql server management studio。我很确定默认有一个主数据库或其他东西,我不完全了解它。
-
@Mitch 我怎么知道我有没有?
标签: sql-server insert foreign-keys