我想创建一个带有命名查询的表,但是在另一个数据库上。并使用参数获取数据库的名称。
我试图像这样做
<sql-query name="createStatement">
<query-param name="dbName" type="string"/>
CREATE TABLE `:dbName`.`test` (
`customer_id` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`customer_id`)
);
</sql-query>
但是我收到了未知参数名称Exception。我试过添加空格或删除`字符,但仍然无效。
设置此参数的正确方法是什么?
答案 0 :(得分:1)
查询参数不能用于数据库标识符。也不是表标识符,列标识符或SQL关键字或表达式。
查询参数只能用于单个词法元素,并且只能用于否则可以使用常量数据值,即带引号的字符串文字,引用日期/时间字面值或数字文字。