codice:
SELECT Societa FROM aziende WHERE Societa LIKE '%s.p.a.%' FOR UPDATE;
/* Result : "Query OK, 3 rows affected (0,02 sec)" */
/*------ 14/02/2007 11.31.54 --------*/
UPDATE aziende SET Societa = REPLACE(Societa, 's.p.a.', 'spa');
/* Result : "Query OK, 0 rows affected (0,11 sec)" */
/*------ 14/02/2007 11.31.46 --------*/
SELECT 1 FROM aziende WHERE ( tel LIKE CONCAT( '%', CHAR( 160 ), '%' ) ) FOR UPDATE;
/* Result : "Query OK, 1 rows affected (0,06 sec)" */
/*------ 14/02/2007 11.31.46 --------*/
UPDATE aziende SET tel = TRIM( REPLACE( tel, CHAR( 160 ), CHAR( 32 ) ) );
/* Result : "Query OK, 1 rows affected (0,11 sec)" */
nel primo caso la select for update rileva che ci sono record societa che contengono 's.p.a.'
ma l'update successivo non lo trasforma in 'spa'
nel secondo caso la select for update rileva il carattere 160
e l'update successivo riesce a trasformarlo nel carattere 32
dov'è che sbaglio?