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

MySQLで逆合成主キーを許可しない

    このテーブルに挿入するストアドプロシージャを作成できます。

    DELIMITER $$
    CREATE PROCEDURE insert_distance(IN p_town1 varchar(50), IN p_town2 varchar(50), IN p_distance int)
    BEGIN
    INSERT INTO distance(town1, town2, distance)
    SELECT LEAST(p_town1, p_town2), GREATEST(p_town1, p_town2), p_distance;
    END $$
    DELIMITER ;
    

    この手順のみを使用して挿入すると、エントリがすでに存在する場合にエラーがスローされることを確認できます。また、誤って町を間違った順序で挿入することはありません。



    1. PostgreSQL Upsertは、システム列XMIN、XMAXなどを使用して、挿入された行と更新された行を区別します

    2. Oracleの簡単な変換/移行へのMSAccess

    3. SQLiteで重複する行を削除する2つの方法

    4. SQLServerの複数の列に外部キー制約を作成する方法-SQLServer/TSQLチュートリアルパート67