MySQL Client 裡面,想要執行 SQL 語法,或者使用變數來做某些取代,要怎麼做呢?
MySQL CLI Table name 使用變數取代
在此 Tablen name 使用結合其他變數的方式來做,然後使用 PREPARE 執行。
- SET @month = MONTH(now());
- SELECT @month; # 10
- SET @table_name = CONCAT('demo', @month);
- SELECT @tablename; # demo_10
- SET @sql = CONCAT('SELECT * FROM ', @table_name);
- # SET @sql = CONCAT('SELECT * FROM ', @table_name, ' WHERE id = ', @id_1); # SET @id_1 = '1';
- PREPARE stmt FROM @sql;
- EXECUTE stmt;
- DEALLOCATE PREPARE stmt; # 移除 stmt,也可以不用,此 session 結束會自動清掉