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

テーブルの変更エラー、制約の追加外部キー取得エラー子行を追加または更新できません

    answers.questions_idに少なくとも1つのデータ値があります これはquestions.idでは発生しません 。

    これが私の言いたいことの例です:

    mysql> create table a ( id int primary key);
    
    mysql> create table b ( aid int );
    
    mysql> insert into a values (123);
    
    mysql> insert into b values (123), (456);
    
    mysql> alter table b add foreign key (aid) references a(id);
    ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint 
    fails (`test`.`#sql-3dab_e5c`, CONSTRAINT `#sql-3dab_e5c_ibfk_1` FOREIGN KEY
    (`aid`) REFERENCES `a` (`id`))
    

    これを使用して、一致しない値があることを確認できます:

    SELECT COUNT(*)
    FROM answers AS a
    LEFT OUTER JOIN questions AS q ON a.questions_id = q.id
    WHERE q.id IS NULL
    



    1. ONDUPLICATEKEY内で集計値を使用できますか

    2. MySQLクローンプラグインとXtrabackupの比較

    3. PostgreSQLでの重複更新時に挿入しますか?

    4. RailsアプリでのHerokuPostgreSQLGROUP_BYエラー