CREATE TABLE tab1
(
Grp_ID INT NOT NULL default(0),
Sys_ID INT NOT NULL default(0),
Func_id INT NOT NULL default(0),
primary key (Grp_ID,Sys_ID,Func_id)
)
CREATE TABLE tab1
(
Grp_ID INT NOT NULL default(0),
Sys_ID INT NOT NULL default(0),
Test_Type INT NOT NULL default(1),
Test_Name char(16) default('0'),
primary key (Grp_ID,Sys_ID)
)
(
Grp_ID INT NOT NULL default(0),
Sys_ID INT NOT NULL default(0),
Func_id INT NOT NULL default(0),
primary key (Grp_ID,Sys_ID,Func_id)
)
CREATE TABLE tab1
(
Grp_ID INT NOT NULL default(0),
Sys_ID INT NOT NULL default(0),
Test_Type INT NOT NULL default(1),
Test_Name char(16) default('0'),
primary key (Grp_ID,Sys_ID)
)
(
Grp_ID INT NOT NULL default(0),
Sys_ID INT NOT NULL default(0),
Func_id INT NOT NULL default(0),
primary key (Grp_ID,Sys_ID,Func_id)
)
CREATE TABLE tab2
(
Grp_ID INT NOT NULL default(0),
Sys_ID INT NOT NULL default(0),
Test_Type INT NOT NULL default(1),
Test_Name char(16) default('0'),
primary key (Grp_ID,Sys_ID)
)
CREATE TABLE tab1
(
Grp_ID INT NOT NULL default(0),
Sys_ID INT NOT NULL default(0),
Func_id INT NOT NULL default(0),
primary key (Grp_ID,Sys_ID,Func_id)
)
CREATE TABLE tab2
(
Grp_ID INT NOT NULL default(0),
Sys_ID INT NOT NULL default(0),
Test_Type INT NOT NULL default(1),
Test_Name char(16) default('0'),
primary key (Grp_ID,Sys_ID),
foreign key(Grp_ID) references tab1(Grp_ID),
foreign key(Sys_ID) references tab1(Sys_ID)
)
CREATE TABLE tab1
(
Grp_ID INTEGER NOT NULL ,
)
是我依照一本书上写的,大家看对不对:
CREATE TABLE tab1
(
Grp_ID INTEGER NOT NULL ,
Sys_ID INTEGER NOT NULL ,
Func_ID INTEGER NOT NULL , PRIMARY KEY( Grp_ID,Sys_ID,Func_ID))主要是默认值0是不是写成NOT NULL啊???
2CREATE TABLE tab2
(
Sys_ID INTEGER NOT NULL ,
Func_ID INTEGER NOT NULL ,
Test_Type INTEGER NULL ,
Test_Name CHAR(16) NOT NULL,PRIMARY KEY(Sys_ID,Func_ID),
FOREIGN KEY(Sys_ID,Func_ID) REFERENCE tab1)
这里的FOREIGN KEY(Sys_ID,Func_ID) REFERENCE tab1对不对啊??
还有就是这句话的意思,以及我写的所有的标点符号有没有错啊??
谢了~~~
(
Grp_ID INT default(0) NOT NULL ,
sys_ID int default(0) not null,
Func_ID int default(0) not null,
primary key( Grp_ID, Grp_ID,Func_ID)
)create table tab2
(sys_id int default(0) not null,
func_id int default(0) not null,
test_type int default(1),
test_name char(16) default('0')
primary key(sys_id,func_id))
Test_Type int 1
Test_Name char(16) 0
写成: Test_Type INT NOT NULL default(1),
Test_Name char(16) default('0'),
就是说Test_Name char(16) default('0'),没有NOT NULL??
不是,是default(0)
2。这里的FOREIGN KEY(Sys_ID,Func_ID) REFERENCE tab1对不对啊??]
不对,分开写。
FOREIGN KEY是列级约束,不能多于一列。
constraint con_func_id foreign key(func_id) references tab1(func_id),
constrint con_sys_id foreign key(sys_id) references tab1(sys_id)
(
Grp_ID INT NOT NULL default(0),
Sys_ID INT NOT NULL default(0),
Func_id INT NOT NULL default(0),
primary key (Sys_ID,Func_id)
)
CREATE TABLE tab2
(
Sys_ID INTEGER NOT NULL ,
Func_ID INTEGER NOT NULL ,
Test_Type INTEGER NULL ,
Test_Name CHAR(16) NOT NULL,
PRIMARY KEY(Sys_ID,Func_ID),
foreign key(Sys_ID,Func_ID) references tab1(Sys_ID,Func_ID)
)
NOT NULL 只是说不允许为空,和默认值没有关系,默认值必须写default
2
如上,外键必需和主键相同
字段名 类型 默认值 主键
Sys_ID int 0 Y
Func_ID int 0 Y
Test_Type int 1
Test_Name char(16) 0
1、是怎么判断出为空还是不为空的??(即NULL or NOT NULL)
2、Test_Type INTEGER NULL , 上面给出的条件有默认值1,怎么没有体现出来??