
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
18.05.2007, 00:18:16
|
|||
|---|---|---|---|
|
|||
Использование 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:26:15
|
|||
|---|---|---|---|
|
|||
Использование mysql_insert_id() после INSERT |
|||
|
#18+
PS: забыл добавить - разумеется если в данной задаче необходимы транзакции то придется сменить движок для таблицы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.05.2007, 06:21:00
|
|||
|---|---|---|---|
Использование mysql_insert_id() после INSERT |
|||
|
#18+
Если у вас jdbc драйвер 3.0, то там уже есть возможность получать значение primary key сразу. Никогда сам не пробовал, но в книжках такое встречал. Советую покопаться в туториалах (интерфейс KeyHolder). пример из Spring Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&mobile=1&tid=2145711]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
49ms |
get topic data: |
16ms |
get forum data: |
5ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 280ms |
| total: | 450ms |

| 0 / 0 |
