Название: MySql как определить уникальный ключ только что вставленной Отправлено: xela73 от Июнь 08, 2005, 17:38 В таблице test поле test первичный ключ определено как auto_increment.
Делаю QSqlQuery q; q.exec( "insert into test (name) values ('hy frends');" ); Как мне получить значение поля test вставленной записи? В mysql.h была функция mysql_insert_id(); Название: MySql как определить уникальный ключ только что вставленной Отправлено: MaxWin от Июнь 08, 2005, 18:26 А в чем проблема?
Cделай выборку по максимальному значению поля. Название: MySql как определить уникальный ключ только что вставленной Отправлено: Sergeich от Июнь 08, 2005, 21:22 Можешь сделать так
q.exec( "SELECT id FROM test WHERE id = LAST_INSERT_ID()" ); Название: MySql как определить уникальный ключ только что вставленной Отправлено: xela73 от Июнь 09, 2005, 08:42 Цитата: "Sergeich" Можешь сделать так q.exec( "SELECT id FROM test WHERE id = LAST_INSERT_ID()" ); А не возникнит ситуация, когда между моим INSERT-ом и SELECT ... = LAST_INSERT_ID пройдет "чужой" INSERT и мне вернется "чужая" запись? Название: MySql как определить уникальный ключ только что вставленной Отправлено: MaxWin от Июнь 09, 2005, 09:49 Ну если транзакций много и так боязно блокируй таблицу.
Название: MySql как определить уникальный ключ только что вставленной Отправлено: kula от Июнь 10, 2005, 05:36 сделай запрос вида
select last_insert_id() from aaaaa last_insert_id() это последний вставленный индекс для большей информации читай документацию по MySQL |