首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

让小弟我百撕不得骑姐的有关问题,求真相

2012-03-24 
让我百撕不得骑姐的问题,求真相创建数据库两个表:1、XML codecreate table tab_user(pk_user_uuid varchar(

让我百撕不得骑姐的问题,求真相
创建数据库两个表:
1、

XML code
create table tab_user(pk_user_uuid varchar(32) primary key,f_user_name varchar(32) not null,f_user_password varchar(32) not null,f_user_role varchar(32) ,f_superuser_uuid varchar(32),f_create_time timestamp DEFAULT now(),constraint f_user_role_id foreign key(f_user_role) references tab_user_role(pk_role_id))            

2、
XML code
create table tab_user_role(pk_role_id varchar(32) primary key,f_role_name  varchar(32) not null)

上面我明明用外键引用了第二张表的主键
但是:insert into tab_user values('asdfasdf1','asdfaf','',null,'11')却能正确执行
数据库是:PostgreSql
而第二张表中只有这4个ID
"7fa6ea0e157e454b8a54d683cce57ef5"
"1a109573eb6c4d09b95b7e0fd6051d0b"
"3fb05d089cc54d47a34c41e4cae3c6c4"
"daf6a3753f9a463aabce090a95e74bf9"


想问下:为什么用null能执行成功(''肯定不行不用解释)

[解决办法]
即使是外键,null也可以把,不null的话才会约束。难道不null也不约束么??

或者你改f_user_role varchar(32) not null,就不会插入Null了。。
[解决办法]
引用的外键,必须为引用的那张表的主键,或者为null,是可以为null的
还有"但是我在第一张表是刚好忘了主键"这句话是什么意思
[解决办法]
这个如果插不进去,才是真的有问题了。
[解决办法]
探讨

即使是外键,null也可以把,不null的话才会约束。难道不null也不约束么??

或者你改f_user_role varchar(32) not null,就不会插入Null了。。

[解决办法]
null 表示暂时没有跟主表中记录关联上

''是有信息的,要查主表中,是否存在“''”为主键的记录

热点排行