1

私はMySQLを使用しています

私の作成したデータベースは次のようなものです:

Create table Author ( Id int , Name nvarchar(max) );

Create table Image ( Id int ,ImagePath nvarchar(max) );

Create table Blog ( Id int ,Name nvarchar(max) ,AuthorId int );

Create table BlogImages ( Id int ,BlogId int ,ImageId int );

この下の部分を試していると、エラーが発生します

ALTER TABLE Blog ADD FOREIGN KEY (AuthorId) REFERENCES Author(Id)

ALTER TABLE BlogImages ADD FOREIGN KEY (BlogId) REFERENCES Blog(Id)

ALTER TABLE BlogImages ADD FOREIGN KEY (ImageId) REFERENCES Image(Id)

テーブルに外部キーを追加する必要があることをガイドしてください

4

3 に答える 3

1

定義する必要がありますprimary keys:

Create table Author 
 ( 
    Id int , 
    Name nvarchar(max), 
    PRIMARY KEY (id) 
 );

Create table Image
  ( 
    Id int ,
    ImagePath nvarchar(max), 
    PRIMARY KEY (id) 
  )

Create table Blog 
  ( 
    Id int ,
    Name nvarchar(max) ,
    AuthorId int, 
    PRIMARY KEY (id) 
   );

 Create table BlogImages 
  ( 
     Id int ,
     BlogId int ,
     ImageId int 
     PRIMARY KEY (id) 
  );

またはこの方法:

ALTER TABLE Author ADD PRIMARY KEY  Author(Id);
ALTER TABLE Image ADD PRIMARY KEY  Image(Id);
ALTER TABLE Blog ADD PRIMARY KEY  Blog(Id);
ALTER TABLE BlogImages ADD PRIMARY KEY  BlogImages(Id);

SQL フィドルのデモ

制約の主キーを作成することもできます。これは私が好む方法です

ALTER TABLE Author ADD CONSTRAINT pk_AuthorID PRIMARY KEY (ID); 
ALTER TABLE Image ADD CONSTRAINT pk_ImageID PRIMARY KEY (ID) ;
ALTER TABLE Blog ADD CONSTRAINT pk_BlogID PRIMARY KEY (ID); 
ALTER TABLE BlogImages ADD CONSTRAINT pk_BlogImagesID PRIMARY KEY (ID); 
于 2013-07-31T09:02:17.180 に答える