jjw

写给自己的博客。 记录学习的点滴以备查。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Firbird 将可 null 的列更新为 not null

Posted on 2014-10-14 17:03  jjw  阅读(195)  评论(0编辑  收藏  举报
在GOOGLE上搜到2种方法:
 
第一种是新加一列 C2, 然后 update myTable set C2=原字段,再删除【原字段】,
但这种方法有限制,当很多其它表引到此表时,非常麻烦。
 
第二种是直接修改系统表,语句如下:
UPDATE RDB$RELATION_FIELDS SET RDB$NULL_FLAG = 1  WHERE RDB$FIELD_NAME = '列名' AND RDB$RELATION_NAME = '表名';
 
重要提示:
上述语句中的【字段名】和【表名】必须是大写,否则达不到效果,同时也不会有失败的提示。
 
另:很多UI工具都是采用直接修改系统表的方法。