La cosa più appropriata che posso immaginare è creare un indice univoco sulla colonna slug
ALTER TABLE pages ADD UNIQUE KEY slug;
Il motivo è semplice:se questo non è univoco, potrebbe esserci più di uno slug con "mainpage"... quale dovrebbe essere aggiornato??
quindi utilizzare SU AGGIORNAMENTO DELLA CHIAVE DUPLICATA clausola:
INSERT INTO pages
VALUES (NULL, $title, $content, $slug) ON DUPLICATE KEY UPDATE content=$content