sql >> Database >  >> RDS >> Mysql

Sta geen omgekeerde samengestelde primaire sleutel toe in MySQL

Je zou een opgeslagen procedure kunnen maken om in deze tabel in te voegen.

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 ;

Als u alleen deze procedure gebruikt om in te voegen, zorgt u ervoor dat er een fout wordt gegenereerd wanneer de invoer al bestaat. En je voegt de steden niet per ongeluk in de verkeerde volgorde in.



  1. MySQL Split-Brain elimineren in multi-clouddatabases

  2. Hoe definieer je een trigger ON COMMIT in Oracle?

  3. Een left join beperken tot het retourneren van één resultaat?

  4. Hoe een bestand in de MySQL-database invoegen?