Модераторы: IZ@TOP, skyboy, SamDark, MoLeX, Aliance, ksnk, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Узнать id обновленной записи, MySQL 
:(
    Опции темы
maxipub
  Дата 10.6.2016, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 517
Регистрация: 22.10.2009

Репутация: нет
Всего: 1



Добрый день!

В таблице есть уникальный id. Но обновляется одна запись, подходящая по условию, по не уникальному полю some:

Код
UPDATE table SET row=123 WHERE some=456 LIMIT 1


Можно как-то узнать id обновленной записи? Что-то типа http://php.net/mysql_insert_id только для UPDATE?

Возможно, есть решение на самом MySQL?

ЗЫ: как вариант SELECT-ить id по условию WHERE some=456 LIMIT 1, затем обновлять по полученному id. Но может есть что-то стандартное а-ля mysql_update_id ? smile
PM MAIL   Вверх
ksnk
Дата 10.6.2016, 18:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6810
Регистрация: 13.4.2007
Где: СПб

Репутация: 14
Всего: 383



Цитата(maxipub @  10.6.2016,  17:22 Найти цитируемый пост)
Возможно, есть решение на самом MySQL?

Возможно вот это поможет.
Код

SET @uids := null;
UPDATE table SET row=123 WHERE some=456
  and  ( SELECT @uids := CONCAT_WS(',', id, @uids) );
SELECT @uids;


Это сообщение отредактировал(а) ksnk - 10.6.2016, 18:30


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
_zorn_
Дата 12.6.2016, 10:59 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 998
Регистрация: 21.8.2007

Репутация: нет
Всего: 12



Цитата(maxipub @  11.6.2016,  00:22 Найти цитируемый пост)
 Но может есть что-то стандартное а-ля mysql_update_id ?

Советую не заморачиваться подобными "фишками"... 
Вначале это выглядит прикольно и т.п. но потом когда вы познаете ОРМ (а если не познаете то грош цена вам в крупных проектах) вам придется эти знания выкинуть на помойку.
Если конечно ваш профиль не DBA  smile 
PM MAIL   Вверх
maxipub
Дата 15.6.2016, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 517
Регистрация: 22.10.2009

Репутация: нет
Всего: 1



ksnk, блин, я потом как такие строки увижу в своем коде, точно не пойму что это такое... smile  smile 

Цитата(_zorn_ @  12.6.2016,  10:59 Найти цитируемый пост)
Советую не заморачиваться подобными "фишками"...

Какими именно "фишками"?

Цитата(_zorn_ @  12.6.2016,  10:59 Найти цитируемый пост)
а если не познаете то грош цена вам в крупных проектах

Я - одиночка. По крайней мере на этом поприще. Так что получается в крупном проекте - бесценен! Ведь окромя меня там никого. smile  smile 
PM MAIL   Вверх
vikagr11
Дата 10.6.2017, 17:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 10.6.2017

Репутация: нет
Всего: нет



автор по моему вы себя подгружаете ....  лишним user posted image

Это сообщение отредактировал(а) vikagr11 - 10.6.2017, 17:56
PM MAIL WWW   Вверх
Vas
Дата 15.8.2017, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 826
Регистрация: 29.6.2005
Где: Stavropol region

Репутация: нет
Всего: 28



Цитата(maxipub @  10.6.2016,  17:22 Найти цитируемый пост)
Но обновляется одна запись, подходящая по условию

Сегодня одна, а завтра две, поля то не уникальные.

Цитата(maxipub @  10.6.2016,  17:22 Найти цитируемый пост)
ЗЫ: как вариант SELECT-ить id по условию WHERE some=456 LIMIT 1, затем обновлять по полученному id.

Как по мне, так это единственное правильное решение.

P.S. Хотя есть еще одно. Сделать набор обновляемых полей уникальным и делать REPLACE 


--------------------
И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин)
PM MAIL   Вверх
_zorn_
Дата 16.8.2017, 17:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 998
Регистрация: 21.8.2007

Репутация: нет
Всего: 12



deleted

Это сообщение отредактировал(а) _zorn_ - 16.8.2017, 17:39
PM MAIL   Вверх
Natalya96
Дата 14.12.2018, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 14.12.2018

Репутация: нет
Всего: нет




Модератор: Сообщение скрыто.

PM MAIL   Вверх
Google
  Дата 21.9.2019, 14:44 (ссылка)  





  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.1222 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.