java - Why does getGeneratedKeys() return "GENERATED_KEY" as column name? -



java - Why does getGeneratedKeys() return "GENERATED_KEY" as column name? -

i'm playing jdbc/mysql 5.1. created insert query insert info table , want homecoming generated key newly created row. however, when go reference column "id" pk , auto-increment column.

preparedstatement ps = st0rm.getinstance().getdatabase("main") .prepare("insert quests (name,minlevel,start_npc,end_npc) values(?,?,?,?)", true); // creates prepared statement flag return_generated_keys // ... int affected = ps.executeupdate(); resultset keys = ps.getgeneratedkeys(); if (affected > 0 && keys.next()) { st0rm.getinstance().getlogger().warning(string.format("id column name: %s", keys.getmetadata().getcolumnname(1))); // says column name is: generated_key q = new quest(keys.getint(1)); // column index generated key, no error thrown. q = new quest(keys.getint("id")); // actual column name, line throws sqlexception // ... }

so, question: why resultset.getgeneratedkeys utilize generated_key column name?

you shouldn't retrieve these columns name. index, since there can ever 1 column mysql , auto_increments returns value(s) can exposed statement.getgeneratedkeys().

currently mysql server doesn't homecoming info straight create ability retrieve these columns name in efficient manner possible, why i'm marking "to fixed later", since can, 1 time server returns info in way driver can use.

from here (in 2006!).

java mysql jdbc

Comments

Popular posts from this blog

How do I check if an insert was successful with MySQLdb in Python? -

delphi - blogger via idHTTP : error 400 bad request -

postgresql - ERROR: operator is not unique: unknown + unknown -