2012-01-26 2 views
1

Я использую JDBC + mysql. Я вставляю запись и использую UUID() в своем заявлении. Я интересно, если мы можем получить сгенерированное UUID значение из ResultSet ?:Получите значение UUID() после вставки?

PreparedStatement stmt = conn.prepareStatement("INSERT INTO foo(name, random), 
    VALUES(john, UUID())"); 
ResultSet generatedKeys = stmt.getGeneratedKeys(); 
// any way to find out the value of the UUID() result? 

Да, так что я просто интересно, если я могу получить любое значение UUID() генерирует выше, без того, чтобы выбрать запись снова.

Благодаря

+0

Вы должны выбрать - вы могли бы использоваться 'LAST_INSERTED_ID', если бы колонна AutoNumber ... –

+0

Лентяй , ok gotcha. Можете ли вы сказать это как ответ, я не думаю, что могу принять ваш комментарий в качестве ответа. – user291701

ответ

0

Попробуйте установить и выберите пользовательскую переменную, например -

SET @uuid = UUID(); 
INSERT INTO foo(name, random) VALUES(john, @uuid); 
SELECT @uuid; 
Смежные вопросы