sql >> データベース >  >> RDS >> Sqlserver

DEFAULT 値なしで null 以外の列を追加できますか

    いいえ、できません。

    できたとしても、SQL は既存のレコードに何を値として入れればよいか分からないからです。テーブルにレコードがない場合は、問題なく機能します。

    これを行う最も簡単な方法は、デフォルトで列を作成してからデフォルトを削除することです。

    ALTER TABLE dbo.MyTable ADD
    MyColumn text NOT NULL CONSTRAINT DF_MyTable_MyColumn DEFAULT 'defaultValue'
    ALTER TABLE dbo.MyTable
    DROP CONSTRAINT DF_MyTable_MyColumn
    

    もう 1 つの方法は、制約なしで列を追加し、すべてのセルに値を入力して、制約を追加することです。



    1. OracleNLS_DATE_FORMATが正しく機能しない

    2. Oracle関数で動的な結果セットを返す方法

    3. MYSQLでUserID+INNERJOINの代わりにスーパーバイザーの名前を取得する方法

    4. 複数の行の削除を回避するためのMySQLBeforeDeleteトリガー