日期:2014-05-16  浏览次数:21062 次

SET @SQL=CONCAT语句里关于调用表名参数的问题
SET @SQL=CONCAT('select count(*) from ',tablename);

而SET @SQL=CONCAT('select .... where table_name=\'',tablename,'\'')

为啥下面就要多加上单引号还有转义字符\呢?

------解决方案--------------------
要对单引号转义 否则就拼不成select .... where table_name='tbname'

或者你不用单引号 就可以不用\了

SET @SQL=CONCAT('select .... where table_name="',tablename,'"')
------解决方案--------------------
SET @SQL=CONCAT('select count(*) from '‘,tablename);
如果没有\' ,则上面语句你会如何认为? 显然计算机没那么智能,无法断点这个独立的引号是什么作用。