【问题标题】:Adding a column with a Default value?添加具有默认值的列?
【发布时间】:2016-09-13 09:20:34
【问题描述】:

我正在向我的数据库表中添加一列。它是一个简单的 Char 列,其值为“Y”或“N”。

是否可以将列默认为“N”?如果有,怎么做?

当前添加列的脚本:

ALTER TABLE PERSON
ADD IS_ACTIVE VARCHAR2(1);

【问题讨论】:

  • 为什么要用这样一个微不足道的问题来打扰社区,你可以通过互联网搜索更快地解决?
  • Google 只知道 StackOverflow 知道的...

标签: sql oracle ddl column-defaults


【解决方案1】:
ALTER TABLE PERSON
ADD IS_ACTIVE VARCHAR2(1) DEFAULT 'N'

如果需要,可以添加 NOT NULL 约束:

ALTER TABLE PERSON
ADD IS_ACTIVE VARCHAR2(1) DEFAULT 'N' NOT NULL

【讨论】:

    【解决方案2】:

    根据documentation

    ALTER TABLE person ADD is_active VARCHAR2(1) DEFAULT 'N';
    

    【讨论】:

      【解决方案3】:

      您只需要添加Default <your default value> 即可。

      例如:

      ALTER TABLE person ADD is_active VARCHAR2(20) DEFAULT 'N';
      

      【讨论】:

        【解决方案4】:

        改变表人 添加 IS_ACTIVE VARCHAR(1) DEFAULT('N') NOT NULL

        【讨论】:

          【解决方案5】:

          MySql 版本

          创建表时

          CREATE TABLE tblPERSON ( id INT NOT NULL , IS_ACTIVE CHAR NULL DEFAULT 'N' )
          

          改变

          ALTER TABLE tblperson ADD IS_ACTIVE CHAR NULL DEFAULT 'N' 
          

          【讨论】:

            【解决方案6】:

            ALTER TABLE PERSON ADD IS_ACTIVE CHAR(1 BYTE) DEFAULT 'N';

            【讨论】:

              【解决方案7】:
              ALTER TABLE table_name ADD column_name varchar2(1) DEFAULT 'N' not null;
              

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2021-01-17
                • 2010-09-08
                • 2018-07-31
                • 1970-01-01
                • 2016-09-08
                相关资源
                最近更新 更多