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

MySQLエラーコード1452外部キー制約

    NameIDに外部キー制約を定義しました 列、つまりテーブルPHONE NameIDに対してデフォルトを渡した電話テーブルの挿入を使用していますが、NameIDはNAMEを指しています。 テーブルで、NAMEからレコードIDが挿入されていることを期待しています テーブルには、ドキュメントによるデフォルト値がありません

    したがって、2番目の挿入では、挿入されたif from NAMEを使用できます。

    のようなテーブル
    INSERT INTO NAME (NameID, NAME) VALUES (DEFAULT, 'John Doe');
    INSERT INTO PHONE (NameID, PhoneNumber, NumType) VALUES (LAST_INSERT_ID(), '706-782-4719', 'Home');
    

    そして、それらを結合することにより、両方のテーブルから結果を取得できます

    select * from NAME
    JOIN PHONE 
    USING (NameID)
    

    の一意のIDを取得する方法最後に挿入された行

    フィドルデモを参照




    1. ProxySQL監査ログを理解する

    2. エラーコード1064、SQL状態42000:SQL構文にエラーがあります。

    3. mysqlは停止していますが、subsysはロックされています

    4. MySql:MyISAMとInno DB!