sql >> Databasteknik >  >> RDS >> Mysql

Uppdatera post om det finns, annars infogas i MySQL

Det mest lämpliga jag kan tänka mig är att skapa ett unikt index på slugkolumnen

ALTER TABLE pages ADD UNIQUE KEY slug;

Anledningen är enkel:om detta inte är unikt begränsat kan det finnas mer än en snigel med "huvudsida"... vilken ska uppdateras?

använd sedan PÅ DUBLIKAT UPPDATERING AV NYCKEL klausul:

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



  1. Långsam postgres-fråga när du går med i stora tabeller

  2. Använder funktionen OVER-fönster i SQLAlchemy

  3. Hur man skriver en fråga med flera beteenden

  4. Hur man skapar/underhåller ID-fält i Sequel Pro via Ruby och mysql2