Trigger (wymagania administracyjnego uprawnienia "SUPER"):
CREATE TRIGGER disable_update BEFORE UPDATE ON nazwa_tabeli
FOR EACH ROW
BEGIN SET NEW.kolumna1 = OLD.kolumna1;
SET NEW.kolumna2 = OLD.kolumna2;
...
END
(Wywołując tą komendę przez phpMyAdmin w okienku zapytania wybierz jako separator INNY ZNAK niż średnik

)
NEW - wiersz zawierający zmienione update'm dane
OLD - wiersz przed zmianami
Działanie:
Trigger (wyzwalacz) wywołuje się przed faktyczną zmianą danych w bazie poleceniem UPDATE ale po wywołaniu tego zapytania. W bazie będzie zapisany wiersz NEW zastępując stary wiersz OLD, więc wystarczy dane nowego wiersza przepisać ze starego i już - w efekcie nic w bazie się nie zmieni. Choć baza wykona UPDATE, to wykona go z takimi samymi danymi jakie już miała, niezależnie od tego się jakie dane poda się w samym zapytaniu UPDATE. Poleceniem SET wywołaj dla każdej kolumny która jest w tabeli, albo tylko dla tych kolumn które mają się nigdy nie zmienić.
Miej na uwadze, że po założeniu triggera edycja danych przez phpMyAdmina też nie będzie działać, bo trigger przywróci poprzednie wartości.