CREATE TABLE Usuario
(
id int identity not null,
usuario char(20) unique not null,
senha char(10) not null,
tipo_usuario char(15) not null,
primary key (id),
foreign key (tipo_usuario) references TpoUsuario
on update cascade on delete set default
);
CREATE TABLE TpoUsuario
(
id int identity not null,
tipo_usuario char(15) not null,
primary key(id)
);
这使用代码顶部,并收到此消息错误。
首先我创建了表TpoUsuario
,然后创建了表Usuario
。
Ms 1778,Level 16,State 0,Line 1
列'TpoUsuario.id'与外键'FK__Usuario__tipo_us__60A75C0F'中引用列'Usuario.tipo_usuario'的数据类型不同。Msg 1750,Level 16,State 0,Line 1
无法创建约束。查看以前的错误。
答案 0 :(得分:3)
TpoUsuario.id是一个int数据类型列,而Usuario.tipo_usuario是char类型列 你能不能用TpoUsuario.tipo_usuario将Usuario.id和TpoUsuario.id或Usuario.usario联系起来
答案 1 :(得分:0)
了解如何定义外键:
你说
foreign key (tipo_usuario) references TpoUsuario on update cascade on delete set default
语法为FOREIGN KEY (column col1, column col2, ...) REFERENCES table_name(column col1, column col2,...)