Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Datensatz aktualisieren, falls vorhanden, andernfalls in MySQL einfügen

Das geeignetste, was ich mir vorstellen kann, ist, einen eindeutigen Index für die Slug-Spalte

zu erstellen
ALTER TABLE pages ADD UNIQUE KEY slug;

Der Grund ist einfach:Wenn dies nicht eindeutig-beschränkt ist, kann es mehr als einen Slug mit "mainpage" geben... welcher sollte aktualisiert werden??

Verwenden Sie dann ON DUPLICATE KEY UPDATE Klausel:

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