|
|
|
Использование mysql_insert_id() после INSERT
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Делаю вставку в таблицу, у которой есть автоинкрементное поле: Код: plaintext 1. 2. 3. 4. 5. После вставки тотчасже необходимо получить идентификатор вставленной записи, использую функцию mysql_insert_id(). Тоесть всю операцию делаю в два запроса: Код: plaintext 1. 2. Вопрос - правильно ли всё? не будет ли каких нибудь проблем, связанных с конфликтами - например после выполнения INSERT и перед выполнением SELECT кто нибудь другой параллельно тоже добавит, и SELECT вернет неверное значение.. PS: данные запросы выполняю через JDBC, уровень изоляций транзакций установлен по-умолчанию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2007, 00:18:16 |
|
||
|
Использование mysql_insert_id() после INSERT
|
|||
|---|---|---|---|
|
#18+
PS: забыл добавить - разумеется если в данной задаче необходимы транзакции то придется сменить движок для таблицы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2007, 00:26:15 |
|
||
|
Использование mysql_insert_id() после INSERT
|
|||
|---|---|---|---|
|
#18+
Если у вас jdbc драйвер 3.0, то там уже есть возможность получать значение primary key сразу. Никогда сам не пробовал, но в книжках такое встречал. Советую покопаться в туториалах (интерфейс KeyHolder). пример из Spring Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2007, 06:21:00 |
|
||
|
|

start [/forum/search_topic.php?author=tiro_java&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
14ms |
get forum list: |
27ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
60ms |
get topic data: |
15ms |
get forum data: |
4ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 1241ms |
| total: | 1456ms |

| 0 / 0 |
