2

以下の表に注意してください。BEST_SELLER新しく作成された列のデフォルト値をに設定したいと思います"N"
どうすればそれを行うことができますか?

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

3 に答える 3

8

基本的なMySQLのAlterTableコマンド

列が存在しない場合:

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

列が存在する場合:

alter table Mystery alter column BEST_SELLER set default 'N';
于 2009-11-13T18:01:50.857 に答える
5

私の最初の答えに対するあなたの応答のために、私は2番目の答えを追加しています。この答えは以下から適用されます:

  1. Oracleを使用していて、
  2. すでにテーブルを作成しているので、「ALTERTABLE」構文を使用する必要があります。

以下を同封してください。

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

タイプchar(1)を実際の列に変更してください。このクエリを実行してテーブルを修正した後、次のような既存の行を更新するために2番目のクエリを発行する必要があります。

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

お役に立てれば。

于 2009-11-13T18:18:32.273 に答える
0

テーブルの作成後に列を追加した場合は、alterステートメントで同様のことを行うことができます。

変更する

于 2009-11-13T18:01:57.747 に答える