原文地址:http://blog.csdn.net/business122/article/details/7528859
今天写一个对数据库做快照的存储过程,用到了动态表名,突然发现MYSQL不支持直接使用变量做表名,GOOGLE了下,采用以下方法:
dbName ( dbName </span><span style="color: #0000ff;">SET</span> <span style="color: #008000;">@STMT</span> :<span style="color: #808080;">=</span>CONCAT("<span style="color: #0000ff;">CREATE</span> <span style="color: #0000ff;">TABLE</span> ",dbName," <span style="color: #0000ff;">SELECT</span> id <span style="color: #0000ff;">from</span><span style="color: #000000;"> gamedb;");
</span><span style="color: #0000ff;">PREPARE</span> STMT <span style="color: #0000ff;">FROM</span> <span style="color: #008000;">@STMT</span><span style="color: #000000;">;
</span><span style="color: #0000ff;">EXECUTE</span><span style="color: #000000;"> STMT;
</span><span style="color: #0000ff;">END</span> </pre>
使用预处理sql