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

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


Тут возможна ситуация, что в это время другой юзер тоже запишет.
Как не перепутать Id ? Как обработать такое?
...
Рейтинг: 0 / 0
05.08.2003, 15:15
    #32227628
Stellar.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
id - последней записи
Личить таблицы/отркывать транзакции.
...
Рейтинг: 0 / 0
05.08.2003, 15:29
    #32227648
JDim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
id - последней записи
А ты сейчас с кем разговаривал?
Подскажи как это сделать...
Лучше кусочек кода.
Я кроме стандартных запросов мало что умею.
Простите за интелект :)
...
Рейтинг: 0 / 0
05.08.2003, 15:38
    #32227659
Stellar.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
id - последней записи
Код: 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
05.08.2003, 16:07
    #32227704
JDim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
id - последней записи
Что-то лыжи не едут.
Код: 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
05.08.2003, 16:15
    #32227718
Stellar.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
id - последней записи
разбирайся со своей джавой
...
Рейтинг: 0 / 0
05.08.2003, 18:38
    #32227958
©Felix
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
id - последней записи
я могу ошибаться.. я в джабе полный ноль... но по логике

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

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

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

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


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