我正在使用 Play Framework 2.1,当我尝试执行此 MySQL 代码以创建新表时出现异常。
[SQLException: Parameter index out of range (1 > number of parameters, which is 0).]
执行调用它的代码是这个 def:
def create(name: String):Boolean = {
if(!contains(name)) // a function that tests if the table already exists
{
val query = SQL("""
CREATE TABLE `database`.`{name}` (
`id` INT NOT NULL ,
`address` TEXT NULL ,
`city` TEXT NULL ,
`state` TEXT NULL ,
`zip` INT NULL ,
`ownerid` INT NULL ,
`price` DOUBLE NULL ,
`rooms` INT NULL ,
`available` BIT NULL ,
`type` TEXT NULL ,
PRIMARY KEY (`id`) );
""").on('name -> name).execute()(conn) //Play compilation error is highlighting this line
true
}
else false
}
如果我只使用更改字符串的“+name+”方法,这将有效,但这会使它对 SQL 注入开放,并且使用 .on 似乎是执行此操作的正确方法。