2017-08-14 65 views

回答

0

语法,包括列名和其他标识符,必须在解析语句时修复。

使用用户变量作为SQL语法的一部分的唯一方法是使用预准备语句,因此您可以在解析之前将其作为字符串构建。

SET @a='city_name'; 

SET @sql=CONCAT('select place_names from table1 tbl1 inner join table2 tbl2 
    on tbl1.', @a, ' = tbl2.', @a); 

PREPARE stmt1 FROM @sql; 
EXECUTE stmt; 
+0

谢谢Bill Karwin。它解决了这个问题。 – renGth