請注意下表。我想將新創建的BEST_SELLER
列的默認值設置爲"N"
。
我該怎麼做呢?如何設置列的默認值?
Create Table Mystery
(Book_Code Char(4) Primary Key,
Title Varchar2(40),
Publisher_Code Char(2),
Price Number(4,2))
請注意下表。我想將新創建的BEST_SELLER
列的默認值設置爲"N"
。
我該怎麼做呢?如何設置列的默認值?
Create Table Mystery
(Book_Code Char(4) Primary Key,
Title Varchar2(40),
Publisher_Code Char(2),
Price Number(4,2))
如果列不存在:
alter table Mystery add column BEST_SELLER enum('N','Y') default 'N';
,如果列上存在:
alter table Mystery alter column BEST_SELLER set default 'N';
如果添加的列的表是後創建你可以用alter語句做類似的事情。
我加入,因爲你的迴應我的第一個回答的第二個答案。這個答案適用日期:
隨函附上如下:
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
希望這有助於。
那麼會填充現有的行嗎? – Murph 2009-11-13 18:23:25
什麼都沒有,你需要發出一個通用的更新查詢,例如:UPDATE mystery SET BEST_SELLER ='N'WHERE BEST_SELLER =''或BEST_SELLER是NULL(這是基於我對MySQL語法的瞭解,儘管我認爲它是通用性足以承載oracle),但默認值應該在未來證明你在這種情況下。 – Dereleased 2009-11-13 18:30:03
感謝您的工作! – Michael 2009-11-13 18:34:39
國際海事組織這個問題的標題應該改變,以反映野獸的性質,爲後代。 – Dereleased 2009-11-13 18:06:19
你在使用什麼SQL Server? – Murph 2009-11-13 18:20:26
SQL PLUS。我已經創建了COLUMN BEST_SELLER ... – Michael 2009-11-13 18:22:54