powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / id - последней записи
8 сообщений из 8, страница 1 из 1
id - последней записи
    #32227586
JDim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите как получить ключь
Код: plaintext
(INT UNSIGNED NOT NULL AUTO_INCREMENT)

только что записанной строчки:
Код: plaintext
INSERT INTO user1 (userName) VALUES ('name')


Тут возможна ситуация, что в это время другой юзер тоже запишет.
Как не перепутать Id ? Как обработать такое?
...
Рейтинг: 0 / 0
id - последней записи
    #32227628
Stellar.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Личить таблицы/отркывать транзакции.
...
Рейтинг: 0 / 0
id - последней записи
    #32227648
JDim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А ты сейчас с кем разговаривал?
Подскажи как это сделать...
Лучше кусочек кода.
Я кроме стандартных запросов мало что умею.
Простите за интелект :)
...
Рейтинг: 0 / 0
id - последней записи
    #32227659
Stellar.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
LOCK TABLES user1 WRITE;
INSERT INTO user1 (userName) VALUES ('name');
SELECT LAST_INSERT_ID();
или
SELECT MAX(id) FROM user1 ;
UNLOCK TABLES;
...
Рейтинг: 0 / 0
id - последней записи
    #32227704
JDim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что-то лыжи не едут.
Код: plaintext
1.
2.
3.
4.
5.
6.
stmt.executeQuery( "LOCK TABLES user1 WRITE" );
stmt.executeUpdate( "INSERT INTO user1 (userName) VALUES ('name')" );
ResultSet rs = stmt.executeQuery( "SELECT MAX(ID) FROM user1" );
stmt.executeQuery( "UNLOCK TABLES" );
rs.next();
int userID = rs.getInt( 1 );

Пишет ошибку:
Код: plaintext
1.
javax.servlet.ServletException: No ResultSet was produced

Сори, что навставлял кода на джабе.

Я сейчас запоминаю время записи и по нему ищу, вероятность того что кто-то обновременно с точностью до секунды подаст мала, но все же существеет.
...
Рейтинг: 0 / 0
id - последней записи
    #32227718
Stellar.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
разбирайся со своей джавой
...
Рейтинг: 0 / 0
id - последней записи
    #32227958
Фотография ©Felix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я могу ошибаться.. я в джабе полный ноль... но по логике

LOCK TABLES user1 WRITE
INSERT INTO user1 (userName) VALUES ('name'); - запросы..

почему тогда один раз stmt.executeQuery а второй stmt.executeUpdate

ошибка как я понимаю говорит о том что не генериться ResultSet то есть наверное ошибка в том запросе...

еще раз.. я могу ошибаться.... ето только предположения....
...
Рейтинг: 0 / 0
id - последней записи
    #32228009
BigHarry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть функция - LAST_INSERT_ID() - она и возвратит последний сгенерированный ID. LAST_INSERT_ID() сохраняется сервером для каждого соединения в отдельности - так что можно не боятся, что кто-то этот ID перепишет...
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / id - последней записи
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]