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

MySQLエラー:外部キー制約を追加できませんか?

    間違ったforgienREFERENCES users(from_uid)を参照しています 最後の表にあります。

    FOREIGN KEY(from_uid) REFERENCES users(from_uid)
    

    from_uid usersに属していない

    これは

    FOREIGN KEY(from_uid) REFERENCES users(uid)
    

    playLists table 4列の主キーの組み合わせがあるため、これら4列すべてをu_share_pl tableのforiengキーとして指定する必要があります。 。

    参照としての別の複合キーは、

    のような単一の制約である必要があります。
    FOREIGN KEY(from_uid,sid,plname,plmdate,plmtime) REFERENCES playlists(uid,sid,plname,plmdate,plmtime)
    

    最後のテーブル作成は次のようになります:

    CREATE TABLE u_share_pl(
    uid INT NOT NULL,
    from_uid INT NOT NULL,
    sid INT NOT NULL,
    plname VARCHAR(20) NOT NULL,
    plmdate DATE NOT NULL,
    plmtime TIME NOT NULL,
    PRIMARY KEY(uid, from_uid, plname, plmdate, plmtime),
    FOREIGN KEY(uid) REFERENCES users(uid),
    FOREIGN KEY(from_uid,sid,plname,plmdate,plmtime) REFERENCES playlists(uid,sid,plname,plmdate,plmtime)
    );
    



    1. OracleのDECODE関数に相当するMySQL

    2. 非同期I/Oを多用するコードは、非非同期よりも実行速度が遅いのはなぜですか?

    3. MySQL INSERT-フィールド名にはバックティック/アクセントの省略が必要ですか?

    4. 無効な変換がエラーコード:17132を要求したのはなぜですか?