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

外部キー(MySQL)を追加する方法

    列が親テーブルの値と一致する値に制約されているが、デフォルトのない新しい未入力の列であるためにNULL値しかない場合、0行を超えるテーブルにNOTNULL列を追加することはできません。 。

    回避策は段階的に行うことです。列を追加しますが、NOT NULLを宣言せず、外部キーをまだ宣言しないでください。

    ALTER TABLE boys
     ADD COLUMN toy_id INT;
    

    次に、おもちゃのテーブルのいくつかの値と一致する有効なデータを入力します。

    UPDATE boys SET toy_id = ...;
    

    次に、列をNOT NULLに変更し、制約を作成します。

    ALTER TABLE boys MODIFY COLUMN toy_id INT NOT NULL,
     ADD CONSTRAINT toys_toy_id_fk
     FOREIGN KEY(toy_id)
     REFERENCES toys(toy_id);
    



    1. mysqlタイムスタンプの変換/フォーマット注意:整形式でない数値が検出されました

    2. T-SQLで2つの日付の間に分間隔を生成するにはどうすればよいですか?

    3. MySQLで値をNULLに設定します

    4. PgSQLが年の日を日付に戻す