Mysql
 sql >> Base de données >  >> RDS >> Mysql

Mettre à jour l'enregistrement s'il existe, sinon insérer dans MySQL

La chose la plus appropriée que je puisse imaginer est de créer un index unique sur la colonne slug

ALTER TABLE pages ADD UNIQUE KEY slug;

La raison est simple :s'il n'y a pas de contrainte unique, il peut y avoir plus d'un slug avec "mainpage"... lequel doit être mis à jour ?

puis utilisez ON DUPLICATE KEY UPDATE clause :

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