2016-09-21 5 views
0

Ich bin eine SQL-Abfrage ausgeführt wird, das gut funktioniert, wenn kopiert-und-Einfügen in H2 oder MySQL, aber nicht in Anorm mit einer kryptischen Fehlermeldung: 'id' not found, available columns: SCOPE_IDENTITY():Anorm: ‚id‘ nicht gefunden, verfügbare Spalten: 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() 

NB Es gibt eine Spalte id in dieser Tabelle - Primärschlüssel mit Autoinkrement -, nicht sicher, ob es verwandt ist.

Was bedeutet das?

Antwort

1

Ich war eigentlich aufgrund me

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

mit einem undefinierten parser statt

SQL"...".executeInsert() 

SCOPE_IDENTITY Abfrage bezieht sich auf die IDs der eingefügten Zeilen, und Hindurchleiten eines Parsers zum executeInsert Methode macht es eine Liste von benutzerdefinierten Objekten (mit einem id Feld scheinbar) anstelle einer Liste von Ints zurückgeben.