一个字符型字段[是一个编码]设置了外键约束,可是能否让这个字段还能存空白字符串呀?
如:table1表,table2表,
table1中有一个字段 "方式编码"是编码,这个编码中的内容在table2中,table2表是方式编码与方式名称的对照表:
方式编码,方式名称[下列编码内容只是举例],方式编码是主键.
01,第一种方式
02,第二种方式
03,第三种方式.table1中的方式编码就是存贮01,或02这种字符.把方式编码设成外键.
现在问题是:如果rable1中,如果方式编码为空白字符串时,系统就会报错.[当然指定成null不会错的.]因为建了约束吗!可是一条记录是可以不指定方式编码的.但是如果指定的话就必须是table2中存在的编码.为了实现在table1中的方式编码中存入空白字符串,我试过可以在table2表中建一个空白字符的方式编码,可是这样很不好呀?用空白字符做编码有点不合理呀?
可是如何可以达到我的要求呢?
再总结一下我的要求,表一中的方式编码可以有,也可以没有,但是如果指定就必须是表二中存在的编码.
当表一中的方式编码不指定时,可以存入空白字符串,可以实现吗?

解决方案 »

  1.   

    我知道指定为null是可以的.可是有一点不方便,比如:我用insert语句,为了考虑到通过性,
    我是这样做的:假定全是字符型.
    sql = "insert into table1 (f1,f2,f3) values ( '" & str1 & "','" & str2 & "','" & str3 & "')"
    这样当某个字段无值时,如str1为空白.我是sql语句是不报错的.如果某个字段是null,我的语句就会报错.所以null我没有办法写到通用语句中去.