powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как получить id (счетчик) вставленной/обновленной записи?
10 сообщений из 10, страница 1 из 1
Как получить id (счетчик) вставленной/обновленной записи?
    #38643480
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть такая таблица:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
CREATE TABLE `tbl_base` (
	`CODE` INT(11) NOT NULL AUTO_INCREMENT,
	`BILLCODE` INT(3),
	`CODETI` VARCHAR(36),
	`LOGNAME` VARCHAR(255),
	`PARENTCODE` INT(11),
	PRIMARY KEY (`CODE`),
	UNIQUE INDEX `KEY` (`BILLCODE`, `CODETI`)
)



Есть такой запрос:
Код: sql
1.
2.
insert into tbl_base (`BILLCODE`,`CODETI`,`LOGNAME`,`PARENTCODE`) values (?,?,?,?)
on duplicate key update `LOGNAME`=?,`PARENTCODE`=?;



Есть конечно $sth->{mysql_insertid}, но он не сработает, если запись была обновлена.
Можно ли после выполнения запроса узнать CODE вставленной или добавленной записи?

________________________
Мы смотрим с оптимизмом...
...в оптический прицел.
...
Рейтинг: 0 / 0
Как получить id (счетчик) вставленной/обновленной записи?
    #38643532
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как получить id (счетчик) вставленной/обновленной записи?
    #38643538
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И что, при update эта функция будет возвращать значение счетчика в текущей записи?
...
Рейтинг: 0 / 0
Как получить id (счетчик) вставленной/обновленной записи?
    #38643546
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.,

если прочитаете доку по ссылке, то будет.
...
Рейтинг: 0 / 0
Как получить id (счетчик) вставленной/обновленной записи?
    #38643577
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не нахожу.
Можно конкретное место или цитату показать?
...
Рейтинг: 0 / 0
Как получить id (счетчик) вставленной/обновленной записи?
    #38643605
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://dev.mysql.com/doc/refman/5.5/en/information-functions.html#function_last-insert-id If expr is given as an argument to LAST_INSERT_ID(), the value of the argument is returned by the function and is remembered as the next value to be returned by LAST_INSERT_ID().
...
Рейтинг: 0 / 0
Как получить id (счетчик) вставленной/обновленной записи?
    #38643848
Cygapb-007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft LAST_INSERT_ID() Хотя и написано, что http://dev.mysql.com/doc/refman/5.5/en/insert-on-duplicate.html If a table contains an AUTO_INCREMENT column and INSERT ... ON DUPLICATE KEY UPDATE inserts or updates a row, the LAST_INSERT_ID() function returns the AUTO_INCREMENT value.
но - не работает, однако: http://sqlfiddle.com/#!2/11144/1


С другой стороны, если уж невтерпёж on duplicate key update написать, вроде можно сразу после INSERT послать
Код: sql
1.
select `CODE` /*into @code*/ from `tbl_base` where `BILLCODE`=? and `CODETI`=?;
...
Рейтинг: 0 / 0
Как получить id (счетчик) вставленной/обновленной записи?
    #38643861
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cygapb-007Хотя и написано, что http://dev.mysql.com/doc/refman/5.5/en/insert-on-duplicate.html If a table contains an AUTO_INCREMENT column and INSERT ... ON DUPLICATE KEY UPDATE inserts or updates a row, the LAST_INSERT_ID() function returns the AUTO_INCREMENT value.
но - не работает, однако: http://sqlfiddle.com/#!2/11144/1 Там же в доке, в комментах написано про id=LAST_INSERT_ID(id).
Хотя напрямую, да, не работает.
...
Рейтинг: 0 / 0
Как получить id (счетчик) вставленной/обновленной записи?
    #38643869
Cygapb-007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftТам же в доке, в комментах написано про id=LAST_INSERT_ID(id).Да, написано.
Что если указать LAST_INSERT_ID(20), то и вернет 20, независимо от реального значения. Весь вопрос в том, как определить, что именно 20 надо подставить
...
Рейтинг: 0 / 0
Как получить id (счетчик) вставленной/обновленной записи?
    #38643875
Cygapb-007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
опс , извиняюсь...

http://sqlfiddle.com/#!2/e603a/1
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как получить id (счетчик) вставленной/обновленной записи?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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