sql >> Database >  >> RDS >> Mysql

Waarom kan ik geen variabele gebruiken als tabelnaam in een opgeslagen procedure?

U moet dynamische sql gebruiken. ja, bah.

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


  1. Toegang gebruiken als CRM

  2. Splits een kolom in meerdere rijen

  3. Hoe STR_TO_DATE() werkt in MariaDB

  4. MySQL-mysterie:Null-waarde verschilt niet van niet-null-tekenreeks