如何设置列的默认值?

时间:2009-11-13 17:53:57

标签: sql mysql sqlplus

请注意下表。我想将新创建的BEST_SELLER列的默认值设置为"N" 我该怎么做呢?

Create Table Mystery
(Book_Code Char(4) Primary Key,
 Title Varchar2(40),
 Publisher_Code Char(2),
 Price Number(4,2))

3 个答案:

答案 0 :(得分:7)

基本MySQL Alter Table命令

如果该列不存在:

alter table Mystery add column BEST_SELLER enum('N','Y') default 'N';

如果列存在:

alter table Mystery alter column BEST_SELLER set default 'N';

答案 1 :(得分:5)

由于您对我的第一个回答的回复,我正在添加第二个答案。这个答案适用于:

  1. 您使用的是Oracle,
  2. 您已经创建了表,因此需要使用“ALTER TABLE”语法。
  3. 请附上以下内容:

    alter table
        mystery
    modify
        BEST_SELLER char(1) DEFAULT 'N'
    

    请将类型char(1)修改为实际列。运行此查询以更正表后,您将需要发出第二个查询来更新现有行,例如:

    UPDATE 
        mystery 
    SET 
        BEST_SELLER = 'N' 
    WHERE 
           BEST_SELLER = '' 
        OR BEST_SELLER IS NULL
    

    希望这有帮助。

答案 2 :(得分:0)

如果在创建表后添加了列,则可以使用alter statement执行类似操作。

alter