原文地址:http://blog.csdn.net/business122/article/details/7528859
今天写一个对数据库做快照的存储过程,用到了动态表名,突然发现MysqL不支持直接使用变量做表名,Google了下,采用以下方法: dbname ( dbname</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #0000ff;">SET</span> <span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;">@STMT</span> :<span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #808080;">=</span>CONCAT("<span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #0000ff;">CREATE</span> <span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #0000ff;"><a href="https://m.jb51.cc/tag/table/" target="_blank" >table</a></span> ",db<a href="https://m.jb51.cc/tag/name/" target="_blank" >name</a>," <span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #0000ff;">SELECT</span> <a href="https://m.jb51.cc/tag/ID/" target="_blank" >ID</a> <span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #0000ff;">from</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000;"> gamedb;"); </span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #0000ff;">PREPARE</span> STMT <span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #0000ff;">FROM</span> <span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000;">@STMT</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000;">; </span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #0000ff;">EXECUTE</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000;"> STMT; </span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #0000ff;">END</span> </pre>
使用预处理sql 总结 以上是内存溢出为你收集整理的MYSQL存储过程中 使用变量 做表名--转全部内容,希望文章能够帮你解决MYSQL存储过程中 使用变量 做表名--转所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)