Mysql
 sql >> Database >  >> RDS >> Mysql

Perché non posso utilizzare una variabile come nome della tabella in una procedura memorizzata?

Devi usare SQL dinamico. si, ugh.

SET @s = CONCAT('UPDATE ', _tablename, ' SET ', _columnname, ' = NULL WHERE LENGTH(TRIM(', _columnname, ')) = 0' );
PREPARE stmt FROM @s;
EXECUTE stmt;