Tu devi rimuovere l'ultimo carattere dei 30 record con id più basso. Siccome non è scontato che tali id siano progressivi e che quindi abbiano valore compreso tra 1 e 30, con questa query
select id from news order by id asc limit 29,1
recuperi l'id, dopo averli ordinati in senso crescente, del 30esimo record.
Poichè mysql non consente di eseguire una query di aggiornamento nella quale, tramite una subquery, si fa riferimento alla tabella stessa, si utilizza l'escamotage di assegnarle un altro nome (nel mio esempio tab) in questo modo
select * from (select id from news order by id asc limit 29,1) as tab)
A questo punto, una volta noto l'id massimo che ci interessa, aggiorniamo tutti quelli che hanno un id inferiore o pari a tale valore e con
substring(titolo from 1 for char_length(titolo)-1)
non fai altro che estrarre tutta la stringa tranne l'ultimo carattere.
Spero di essere stato chiaro.![]()