create database test
use test
create table AdminInfo
(
Id int identity(1,1) primary key,
Admin varchar(20),
Password varchar(20) not null
)create table News
(
Id int identity(1,1) primary key,
Admin varchar(20),
Group varchar(50) not null,
Title varchar(50) not null,
Body text not null,
foreign key(Admin) references AdminInfo(Admin) on delete cascade
)create table Pic
(
Id int identity(1,1) primary key,
Admin varchar(20),
Group varchar(50) not null,
Title varchar(50) not null,
Url varchar(100) not null,
foreign key(Admin) references AdminInfo(Admin) on delete cascade
)
想把用户名级联,就是Admin,可是出现在被引用表 'AdminInfo' 中没有与外键 'FK__News__Admin__2F10007B' 的引用列的列表匹配的主键或候选键。这个问题怎么解决?

解决方案 »

  1.   


    create table AdminInfo
    (
    Id int identity(1,1) primary key,
    Admin varchar(20),
    Password varchar(20) not null
    )-- 创建unique索引
    create unique index ix_AdminInfo on AdminInfo(Admin)create table News
    (
    Id int identity(1,1) primary key,
    Admin varchar(20),
    [Group] varchar(50) not null,
    Title varchar(50) not null,
    Body text not null,
    foreign key(Admin) references AdminInfo(Admin) on delete cascade
    )create table Pic
    (
    Id int identity(1,1) primary key,
    Admin varchar(20),
    [Group] varchar(50) not null,
    Title varchar(50) not null,
    Url varchar(100) not null,
    foreign key(Admin) references AdminInfo(Admin) on delete cascade
    )