ホームページ >データベース >mysql チュートリアル >既存の MySQL 列に NOT NULL 制約を追加するにはどうすればよいですか?

既存の MySQL 列に NOT NULL 制約を追加するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-05 18:18:02933ブラウズ

How to Add NOT NULL Constraints to Existing MySQL Columns?

既存の MySQL 列に NOT NULL 制約を設定する

データの整合性を確保する場合、既存の列に NOT NULL 制約を追加することが一般的な要件となることがあります。この問題に対処するために必要な手順を見てみましょう。

次の列を持つ「person」テーブルの場合を考えてみましょう:

<code class="sql">P_Id (int)
LastName (varchar)
FirstName (varchar)</code>

ただし、P_Id 列には NOT NULL 制約がありません。次のようなクエリを使用して制約を追加しようとすると、構文エラーが発生しました:

<code class="sql">ALTER TABLE Person MODIFY (P_Id NOT NULL);
ALTER TABLE Person ADD CONSTRAINT NOT NULL NOT NULL (P_Id);</code>

NOT NULL 制約を効果的に追加するには、列全体を含む ALTER TABLE... MODIFY... クエリを利用します。意味。サンプル クエリは次のとおりです。

<code class="sql">ALTER TABLE Person MODIFY P_Id INT(11) NOT NULL;</code>

注意: デフォルト値や列のコメントを含め、列定義全体が MODIFY クエリで指定されていることを確認してください。これらの要素を省略すると、列から削除されます。

最大限の安全性を確保するために、SHOW CREATE TABLE YourTable クエリを使用して列定義を抽出します。 NOT NULL 制約を組み込むように定義を変更し、それを ALTER TABLE... MODIFY... クエリに貼り付けます。このアプローチにより、重要な列プロパティが失われるリスクが最小限に抑えられます。

以上が既存の MySQL 列に NOT NULL 制約を追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。