既存の MySQL 列に NOT NULL 制約を追加する
列 P_Id (int)、LastName ( varchar)、および FirstName (varchar)。 P_Id カラムの NOT NULL 制約を省略したことに気づき、提供されたクエリを使用して追加しようとしましたが、構文エラーが発生しました。
MySQL の既存のカラムに NOT NULL 制約を追加するための正しい構文ALTER TABLE... MODIFY... ステートメントを使用します。変更されたクエリは次のとおりです。
<code class="sql">ALTER TABLE Person MODIFY P_Id INT(11) NOT NULL;</code>
データ型や既存の属性 (DEFAULT 値や列コメントなど) を含む完全な列定義を指定する必要があることに注意してください。これにより、データまたは列のメタデータが失われる可能性が回避されます。
完全な列定義を取得する最も安全な方法は、SHOW CREATE TABLE クエリを使用することです。
<code class="sql">SHOW CREATE TABLE Person;</code>
次に、次のように出力を変更します。 NOT NULL 制約を選択し、ALTER TABLE... MODIFY... クエリに貼り付けます。これにより、既存の列定義を誤って削除することがなくなります。
以上がMySQL の既存の列に NOT NULL 制約を追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。