Anorm:' id'找不到,可用列:SCOPE_IDENTITY()

时间:2016-09-21 13:55:27

标签: playframework anorm

我运行的SQL查询在H2或MySQL中复制粘贴时运行良好,但在Anorm中失败并出现含义错误的错误消息:'id' not found, available columns: SCOPE_IDENTITY()

[debug] c.j.b.PreparedStatementHandle -
      INSERT INTO projects (person_id,name,code_name,isControl,toAnalyze)
      VALUES (111,'asdf','asdf',1,1)
[info]   anorm.AnormException: 'id' not found, available columns: SCOPE_IDENTITY(), SCOPE_IDENTITY()

N.B。此表中有一列id - 具有自动增量的主键 - 但不确定它是否相关。

这是什么意思?

1 个答案:

答案 0 :(得分:1)

我实际上是因为我查询

SQL"...".executeInsert(parser.*)

使用错误定义的解析器而不是

SQL"...".executeInsert()

SCOPE_IDENTITY引用插入行的ID,并将解析器传递给executeInsert方法使其返回自定义对象列表(显然拥有id字段)而不是列表整数。