Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何使一个表的主键,同一个表的外键_Sql_Sql Server - Fatal编程技术网

Sql 如何使一个表的主键,同一个表的外键

Sql 如何使一个表的主键,同一个表的外键,sql,sql-server,Sql,Sql Server,如何使一个表的主键成为同一个表的外键 我的表供应商具有以下属性: vendor_id, company_name rep_first rep_last referredby 是否要将供应商id作为该表的外键 以下是我尝试过的: create table vendors( vendor_id char(5) Not Null primary key, company_name varchar(255), rep_first varchar(255), rep_last varch

如何使一个表的主键成为同一个表的外键

我的表
供应商
具有以下属性:

vendor_id,
company_name
rep_first
rep_last
referredby
是否要将
供应商id
作为该表的外键

以下是我尝试过的:

create table vendors(
  vendor_id char(5) Not Null primary key,
  company_name varchar(255),
  rep_first varchar(255),
  rep_last varchar(255),
  referredby char(5)
);
constraint vendors_REF_FK
foreign key (referredby) references vendors(referredby)

约束也是表的一部分,因此必须与表定义一起使用,如

vendor_id char(5) Not Null primary key, 
company_name varchar(255), 
rep_first varchar(255), 
rep_last varchar(255), 
refferedby char(5),
constraint vendors_REF_FK foreign key (refferedby) references vendors(vendor_id ));

您也可以使用
altertable

ALTER TABLE Vendors
ADD CONSTRAINT vendors_REF_FK FOREIGN KEY (refferedby) REFERENCES Vendors(vendor_id );

什么不起作用?指出错误消息或至少粘贴不正确的输出。