Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Nie zezwalaj na odwrócony złożony klucz podstawowy w MySQL

Możesz utworzyć procedurę składowaną, aby wstawić ją do tej tabeli.

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 ;

Używając tylko tej procedury do wstawiania, upewnisz się, że zostanie zgłoszony błąd, gdy wpis już istnieje. I nie wstawiasz miast przypadkowo w złej kolejności.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy możesz uzyskać dostęp do wartości automatycznego przyrostu w MySQL w ramach jednej instrukcji?

  2. Kiedy muszę zakończyć połączenie mysqli (baza danych)?

  3. Jak zarządzać dużym zbiorem danych za pomocą Spring MySQL i RowCallbackHandler

  4. Przekaż tablicę do procedury przechowywanej w MySQL

  5. Wstawianie danych binarnych do MySQL (bez PreparedStatement's)