我正在使用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)
请指导 我需要在表格中添加外键
答案 0 :(得分: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);
你也可以创建约束主键,这是我喜欢的方式
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);
答案 1 :(得分:0)
您可以添加查询以创建表格
CREATE TABLE author ( Id int , Name varchar(255) );
当您想要更改作者表时,您可以编写以下查询
ALTER TABLE author ADD test varchar(255)
如果您想将主键添加到ID,可以将以下内容添加到查询中
ALTER TABLE author ADD Primary key author(Id)
答案 2 :(得分:0)
您可以在列上添加主键或唯一键约束 在您的查询中使用的父表。