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

Zaktualizuj rekord, jeśli istnieje, w przeciwnym razie wstaw do MySQL

Najbardziej odpowiednią rzeczą, jaką mogę sobie wyobrazić, jest utworzenie unikalnego indeksu w kolumnie ślimaka

ALTER TABLE pages ADD UNIQUE KEY slug;

Powód jest prosty:jeśli nie jest to ograniczone przez unikalność, może być więcej niż jeden slug z "mainpage"... który powinien zostać zaktualizowany??

następnie użyj PO AKTUALIZACJI ZDUPLIKOWANEGO KLUCZA klauzula:

INSERT INTO pages 
VALUES (NULL, $title, $content, $slug) ON DUPLICATE KEY UPDATE content=$content



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. BŁĄD 1049 (42000):Nieznana baza danych

  2. Optymalizacja czasu pobierania MySQL

  3. Jak dopasować adres IP w mysql?

  4. MySQL - Jaka jest różnica między GROUP BY i DISTINCT?

  5. Aktualizacja MYSQL przy użyciu wyniku sum() w wielu tabelach