• ベストアンサー
  • 困ってます

テーブルのフィールドにNot null制約を付けたい

お世話になります。 既存テーブルにフィールドを追加する方法は わかっているのですが、その追加したフィールドに not null制約を付けるにはどのようなコマンドを 実行する必要があるのでしょうか。 ↓のコマンドには制約をつけるオプションはないですよね。。 ALTER TABLE テーブル名 ADD (カラム名 カラム定義) よろしくお願いします。

共感・応援の気持ちを伝えよう!

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.2
  • TMINET
  • ベストアンサー率32% (45/140)

ALTER TABLE table_name MODIFY (field_name NOT NULL) でできるはずです。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ありがとうございました、 ずばりの回答でたいへん助かりました

その他の回答 (3)

  • 回答No.4

ちゃんとマニュアルを確認しました alter table テーブル名 modify (項目名 NOT NULL) でした。 嘘ついて申し訳ありませんでした

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ありがとうございました、 マニュアル等を参照し、 回答も参考にさせていただきました 訂正回答もとても感謝しています。

  • 回答No.3

手元にマニュアルが無いんで自信が無いのですが。。。 alter table 表名 add constraint 制約名 not null; でできると思います

共感・感謝の気持ちを伝えよう!

  • 回答No.1
  • Mizyu
  • ベストアンサー率41% (245/593)

ちょっとうろ覚えで自信ないですが・・・。 ALTER TABLE でできるはずです。 ただし、現在そのカラムにNULLのデータが無いことが限定されます。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ありがとうございました、 マニュアル等を参照し、 回答も参考にさせていただきました

関連するQ&A

  • PostgreSQLの「not null」制約の追加

    こんにちは。いつもお世話になります。 PostgreSQLのversion7.2.8で、「not null」制約の追加、削除の方法をおたずねします。よろしくお願いします。 ALTER TABLE テーブル名 ALTER COLUMN カラム名 SET NOT NULL; で試したところ、syntaxエラー(構文エラー)で失敗。 ALTER TABLE テーブル名 ALTER COLUMN カラム名 DROP NOT NULL; で試してみても、同じくsyntaxエラーです。 version7.2.8が原因でしょうか? また、version7.2.8でも「not null」制約の追加、削除が できる他の方法はありますでしょうか? テーブルを作り直さずに、 既存のテーブルのカラムへの制約の追加、削除をしようとしています。 よろしくお願いします。

  • NOT NULL 制約の削除

    MSSQL(SQLServer2000)にて、NOT NULLの列制約をはずすにはどうしたらよいのでしょうか。 ALTER TABLE <テーブル名> ALTER COLUMN <列名> DROP NOT NULL をやってみたのですが、構文エラーになってしまいます。 よろしくお願いします。

  • DB2 「既存カラムへのnot null制約の付与・削除方法について」

    DB2有識者の方々へ マニュアルをみたのですが、alter tableでは駄目なのでしょうか? すみません。よろしくお願い致します。 <質問1> 既存カラムへnot null制約を付与したいのですが、コマンドを教えてください <質問2> 既存カラムについた、not null制約を削除したいのですが、コマンドを教えてください よろしくお願い致します。

  • NOT NULL制約カラムにNULLが格納される

    SQLite3でテーブル作成する際、カラムをテキスト型にして、NOT NULL制約をつけているのですが、NULLも普通にINSERTされてしまいます なんででしょうか?

  • MYSQLのフィールドにユニークキーを設定する。

    すでに作ってしまったテーブルにユニークキーを付けたいと考えています。最悪の場合、新しくカラムを作っての追加でもかまわないのですが、いろいろ試してもエラーが返されてしまいます。 codeというカラムにユニークキーを設定したいのですが、 alter table テーブル名 modify unique code; alter table テーブル名 add unique code2; alter table テーブル名 modify code unique; alter table テーブル名 add code2 unique; alter table テーブル名 modify code test unique; alter table テーブル名 add code2 test unique; alter table テーブル名 modify unique code test; alter table テーブル名 add unique code2 test; alter table テーブル名 modify (code unique); alter table テーブル名 add (code2 unique); alter table テーブル名 modify (code text unique); alter table テーブル名 add (code2 text unique); など、思いつく限り試し、グーグルで調べる限り調べたのですが、出てきたものをためしてもダメでした。 テーブルを作成した後、カラムにユニークキーを設定した経験のある方、どのように変更をしたのでしょうか?

    • ベストアンサー
    • MySQL
  • MySQLで、テーブル内のフィールドの名前を変えたいのですが・・・

    MySQL4.0.20 Linuxを使っています。 テーブル内のフィールドの名前を変えたいのですが、alter table の modifyはカラムの属性を変えるもので、名前を変えるのは運用途中でできるのかなと、ふと疑問に思いました。 alter tableなどでできるのでしょうか? 結局サーバーを止めて、バックアップし、テーブル定義を書き直して、リストアするしか無いのでしょうか?

    • ベストアンサー
    • MySQL
  • 位置を指定してフィールドを追加する

    位置を指定して、フィールドを追加する方法をがわかりません。 ALTER TABLE [既存のテーブル名] ADD [新しいフィールド名] VARCHAR(100) AFTER [既存のフィールド名]; 上記のような方法でできませんでした。 ちなみにSQLServer2000がインストールされた環境で、クエリアナライザで実行しました。 よろしくお願いいたします。

  • MySQLのNOT NULL制約について

    MySQLでは、あるカラムをNOT NULL制約にしていたとしても、文字列型には空文字が、数値型には0を保存できます。 NULL、空文字、0をそれぞれ区別している仕様自体は問題ないと思いますが、NOT NULL制約のようにあるカラムで特定の値を許可しないような設定でできないのでしょうか。

    • ベストアンサー
    • MySQL
  • null→数値にするには?

    何度も質問してすみません。 NULLが格納されているフィールドに 「0」や「1」といった値を入れる為には どういうINSERT INTO文をPHP内で記述すれば宜しいでしょうか? pg_field_is_nullを使ってみたのですが イマイチ値を変更する事ができません。 また、SQL文で「NOT NULL制約」という言葉があるのを知ったのですが、 ALTER TABLE文でテーブルを作る時に、 各フィールドにはnullではなく、「0」を最初から格納したい場合は どういった記述をすれば宜しいでしょうか? 宜しくお願い致します。

  • MySQLで先頭にカラムを追加

    宜しくお願いします。 MySQLで新たにカラムを追加する場合、 alter table テーブル名 add column 新カラム名 after 既存のカラム名; という形で追加すると思うのですが、これだと『after 既存のカラム名』となるので、そのカラムの次に入ってしまうと思います。なので、これだとどうしても2番目に来てしまいます。新たに1番目にカラムを追加する事は出来ないのでしょうか?

    • ベストアンサー
    • MySQL