Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.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_Isqlquery - Fatal编程技术网

尝试执行关系时出现SQL查询问题

尝试执行关系时出现SQL查询问题,sql,sql-server,isqlquery,Sql,Sql Server,Isqlquery,我正在数据库中创建表,在尝试创建表之间的关系时,我的查询出现了一个奇怪的问题 我的问题是: CREATE TABLE ogrnizationarticle ( OAID Int NOT NULL , _Text VARCHAR(255) NOT NULL , ARank Int NULL DEFAULT NULL , Acomment VARCHAR(255) NULL DEFAULT NULL , Author VARCHAR(45) NULL DEFAULT NULL

我正在数据库中创建表,在尝试创建表之间的关系时,我的查询出现了一个奇怪的问题

我的问题是:

CREATE  TABLE ogrnizationarticle (
  OAID Int NOT NULL ,
  _Text VARCHAR(255) NOT NULL ,
  ARank Int NULL DEFAULT NULL ,
  Acomment VARCHAR(255) NULL DEFAULT NULL ,
  Author VARCHAR(45) NULL DEFAULT NULL ,
  PRIMARY KEY (OAID, _Text) ,
  foreign key (OAID) references organization(OID),
  );
-- -----------------------------------------------------
-- Table nasshope.organization_Article_comment
-- -----------------------------------------------------
CREATE  TABLE organizationArticleComment (
  O_Article_ID Int NOT NULL ,
  Comment VARCHAR(255) NOT NULL ,
  Article VARCHAR(255) NOT NULL ,
  Comment_Like Int NULL DEFAULT NULL ,
  _Date DATETIME NULL DEFAULT NULL ,
  PRIMARY KEY (O_Article_ID, Comment, Article) ,
  foreign key (O_Article_ID) references ogrnizationarticle(OAID),
  );
这里是错误

Msg 1776, Level 16, State 0, Line 13
There are no primary or candidate keys in the referenced table 'ogrnizationarticle' that match the referencing column list in the foreign key 'FK__organizat__O_Art__42ACE4D4'.
Msg 1750, Level 16, State 0, Line 13
Could not create constraint. See previous errors.

为此,您需要将
\u Text
列添加到
organizationArticleComment
并使用

外键(O_-Article\u-ID,\u-Text)引用组织(OAID,\u-Text)

但是我不建议你那样做

OAID,\u Text
在我看来不是
ogrnizationarticle
的好主键。我会在那里使用代理PK(
IDENTITY
),然后您只需要将其包含在
organizationArticleComment


否则,您将需要跨表复制一个可能非常宽且不稳定的键。由于PK也是该表上的聚集索引,您应该知道聚集索引键也包括在该表上的任何非聚集索引中。

ogrnizationarticle
中的OAID字段必须是“唯一键”或主键


有关更多信息,请参见

@axrwkr-是的,很好。OP应该选择一个名字并坚持下去。而不是
O\u Article\u ID
vs
OID
vs
OAID
。并在他们使用时修复拼写错误的
ogrnization
!在
ogrnizationarticle
中需要一个与foerign键匹配的键,但是
ogrnizationarticle
中的主键有两列。