sql >> Databasteknik >  >> RDS >> Mysql

Tillåt inte omvänd sammansatt primärnyckel i MySQL

Du kan skapa en lagrad procedur för att infoga i den här tabellen.

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 ;

Genom att endast använda denna procedur för att infoga ser du till att ett fel uppstår när posten redan finns. Och du lägger inte in städerna av misstag i fel ordning.



  1. Använda markörer för personsökning i PostgreSQL

  2. Hur man beräknar ålder (i år) baserat på födelsedatum och getDate()

  3. Beräknar du ett glidande medelvärde för MySQL?

  4. Utför regex (ersätt) i en SQL-fråga