开发者社区> 问答> 正文

SQL Server:如何在运行时将自定义默认值设置为列

如何为表中的数据库列设置自定义默认值?

尽管我设置了默认值并受到约束,但是在运行时如果输入值是NULL默认值,则不会使用。

展开
收起
祖安文状元 2020-01-05 14:15:23 510 0
1 条回答
写回答
取消 提交回答
  • 为了使默认设置正常工作,您有两个选择:

    插入过程中根本不提供列

    INSERT INTO t(col1, col2) VALUES (1,2); -- column with default was skipped
    
    

    使用DEFAULT关键字

    INSERT INTO t(col1, col2, col3) VALUES (1,2, DEFAULT);
    
    

    不幸的是,SQL Server不支持默认NULL上的DEFAULT值:

    CREATE TABLE tab (
      id          INT,
      col1        INT DEFAULT ON NULL 2
    );
    
    
    INSERT INTO tab(id, col1) VALUES(1, NULL);  -- NULL is overwritten with default
    SELECT * FROM tab;
    -- 1 2
    
    2020-01-05 14:15:43
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载