Microsoft SQL Server Management Studio-尝试添加FK约束,出现错误:“0”;无效列…“;
我正在尝试添加外键约束以链接我的表,但是我不断遇到以下错误: 信息1769,第16级,状态1,第1行Microsoft SQL Server Management Studio-尝试添加FK约束,出现错误:“0”;无效列…“;,sql,sql-server,database,Sql,Sql Server,Database,我正在尝试添加外键约束以链接我的表,但是我不断遇到以下错误: 信息1769,第16级,状态1,第1行 外键“fk_customers_titles”引用了引用表“customers”中的无效列“title_id” 我已经创建了表及其列,还使用altertable语句声明了主键。但每当我尝试为任何表添加外键约束时,都会不断出现此错误 以下是我创建表格的方式: CREATE TABLE customers ( customer_id char_idtype, name
外键“fk_customers_titles”引用了引用表“customers”中的无效列“title_id” 我已经创建了表及其列,还使用
altertable
语句声明了主键。但每当我尝试为任何表添加外键约束时,都会不断出现此错误
以下是我创建表格的方式:
CREATE TABLE customers
(
customer_id char_idtype,
name varchar(50) NOT NULL,
contact_name varchar(30),
address varchar(50),
city varchar(20),
region varchar(15),
country_code varchar(10),
country varchar(15),
phone varchar(20),
fax varchar(20)
);
GO
CREATE TABLE titles
(
title_id char(3) NOT NULL,
description varchar(35) NOT NULL
);
GO
这就是我添加主键的方式:
ALTER TABLE customers
ADD PRIMARY KEY (customer_id);
GO
ALTER TABLE titles
ADD PRIMARY KEY (title_id);
GO
以下是我添加外键约束的方式:
ALTER TABLE customers
ADD CONSTRAINT fk_customers_titles
FOREIGN KEY (title_id)
REFERENCES titles(title_id);
我正在使用Microsoft SQL Server Management Studio 2012
非常感谢你的帮助,
谢谢我认为错误很明显:
客户
没有标题\u id
。你需要添加它
ALTER TABLE customers ADD title_id char(3);
或者把它放在
CREATE TABLE
语句中。我认为错误很明显:客户
没有标题id
。你需要添加它
ALTER TABLE customers ADD title_id char(3);
或者将其放在
创建表语句中。您的脚本应该如下所述
CREATE TABLE titles
(
title_id char(3) Primary key NOT NULL,
description varchar(35) NOT NULL
);
GO
CREATE TABLE customers
(
customer_id char(3) primary key,
title_id char(3) foreign key references titles,
name varchar(50) NOT NULL,
contact_name varchar(30),
address varchar(50),
city varchar(20),
region varchar(15),
country_code varchar(10),
country varchar(15),
phone varchar(20),
fax varchar(20)
);
GO
您的脚本应该如下所述
CREATE TABLE titles
(
title_id char(3) Primary key NOT NULL,
description varchar(35) NOT NULL
);
GO
CREATE TABLE customers
(
customer_id char(3) primary key,
title_id char(3) foreign key references titles,
name varchar(50) NOT NULL,
contact_name varchar(30),
address varchar(50),
city varchar(20),
region varchar(15),
country_code varchar(10),
country varchar(15),
phone varchar(20),
fax varchar(20)
);
GO