我有以下代码:
CREATE TABLE _CLIENT
(
client_id int ,
client_name varchar(50),
type varchar(50),
constraint _CLIENT_pk PRIMARY KEY(client_id),
constraint _CLIENT_ch CHECK (client_id>0),
typee_id INT NOT NULL REFERENCES CLIENT_TYPE(typee_id)
)
CREATE TABLE CLIENT_TYPE
(
typee_id int NOT NULL,
name_type varchar(50),
constraint CLIENT_TYPE_pk PRIMARY KEY(typee_id)
)
外键抛出错误说:
Foreign key 'FK__Number__Name__1CF15040' references invalid table 'Users.Name'
这里有什么不对?
答案 0 :(得分:2)
我不知道您收到的确切错误消息,但您在当前脚本中有错误,我认为您的意思是此错误:
外键' FK ___ CLIENT__typee_i__55BFB948'引用无效表 ' CLIENT_TYPE'
您应首先创建CLIENT_TYPE
表,因此脚本应如下所示:
CREATE TABLE CLIENT_TYPE
(
typee_id INT NOT NULL ,
name_type VARCHAR(50) ,
CONSTRAINT CLIENT_TYPE_pk PRIMARY KEY ( typee_id )
)
CREATE TABLE _CLIENT
(
client_id INT ,
client_name VARCHAR(50) ,
type VARCHAR(50) ,
CONSTRAINT _CLIENT_pk PRIMARY KEY ( client_id ) ,
CONSTRAINT _CLIENT_ch CHECK ( client_id > 0 ) ,
typee_id INT NOT NULL
REFERENCES CLIENT_TYPE ( typee_id )
)
作为一般规则,您应首先创建基表,然后创建依赖于那些表的表。