powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Получить mysqli_insert_id при update
12 сообщений из 12, страница 1 из 1
Получить mysqli_insert_id при update
    #39234492
monro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую.

Как получить mysqli_insert_id при update или insert ignore?
INSERT IGNORE INTO table ( `title`, `description) VALUES ('$title', '$description' )
...
Рейтинг: 0 / 0
Получить mysqli_insert_id при update
    #39234505
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделать селект с теми же параметрами.
...
Рейтинг: 0 / 0
Получить mysqli_insert_id при update
    #39234509
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
После UPDATE это не имеет смысла, если он не написан специальным образом. Да и для INSERT IGNORE опасно.
А чем вызов mysqli_insert_id не устраивает?
...
Рейтинг: 0 / 0
Получить mysqli_insert_id при update
    #39234522
monro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft, ноль отдает, что бы было понятно почему он мне нужен и я хз как его получить на данный момент, есть фильмы и расписание к ним, фильм один и тот же а расписание разные на каждый день, если фильм новый то заношу в одну таблицу инфу по фильму, во вторую таблицу расписание по фильму, если фильм старый то нужно занести только данные по новому расписанию,приблизительно такие таблицы:

INSERT IGNORE INTO film ( `title`, `description`) VALUES ('$title', '$description' );

$id_film = mysqli_insert_id($link);

INSERT IGNORE INTO time ( `id_film`, `time`) VALUES ('$id_film', '$time' ) ;
...
Рейтинг: 0 / 0
Получить mysqli_insert_id при update
    #39234526
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
monro,

На пару полей `title`, `description` наложен уникальный ключ?
...
Рейтинг: 0 / 0
Получить mysqli_insert_id при update
    #39234528
monro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft, да
...
Рейтинг: 0 / 0
Получить mysqli_insert_id при update
    #39234532
monro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как вариант, как подсказал Akina, сделать селект а уже от него смотреть и делать инсерт или далее, но может есть еще решения?
...
Рейтинг: 0 / 0
Получить mysqli_insert_id при update
    #39234540
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
monro,

Тогда так:
Код: sql
1.
INSERT IGNORE INTO film (`title`, `description`) VALUES ('$title', '$description' )

Код: sql
1.
INSERT INTO time (`id_film`, `time`) SELECT id, '$time' FROM film WHERE `title`='$title' AND `description`='$description'

IGNORE из второго запроса убрал, т.к. не вижу в нем смысла.
...
Рейтинг: 0 / 0
Получить mysqli_insert_id при update
    #39234556
monro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft, первый раз такой запрос в своей жизни вижу, а как его правильно оформить, так:
mysqli_query($link, "INSERT INTO time (`id_film`, `time`) SELECT id, '$time' FROM film WHERE `title`='$title' AND `description`='$description'"); или по другому?
...
Рейтинг: 0 / 0
Получить mysqli_insert_id при update
    #39234560
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
monroпервый раз такой запрос в своей жизни вижуДа ладно, обычный INSERT ... SELECT ...

monroкак его правильно оформитьКак-то так, наверное. Я PHP не знаю, мне трудно судить.
...
Рейтинг: 0 / 0
Получить mysqli_insert_id при update
    #39234583
monro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft, спасибо, все получилось как нужно
...
Рейтинг: 0 / 0
Получить mysqli_insert_id при update
    #39386322
monro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft
Код: sql
1.
INSERT INTO time (`id_film`, `time`) SELECT id, '$time' FROM film WHERE `title`='$title' AND `description`='$description'


а как будет лучше если допустим 10 вставок:

Код: sql
1.
INSERT INTO time (`id_film`, `time`) SELECT id, '$time' FROM film WHERE `title`='$title' AND `description`='$description' on duplicate key update `time`='".strtotime("+3month")."'


или лучше:
выбираем id
Код: sql
1.
SELECT id FROM film WHERE `title`='$title' AND `description`='$description'


потом 10 раз вставляем:
Код: sql
1.
insert into time values ('id', 'time') on duplicate key update `time`='time' 



Таблица innodb
Быстрее будет в первом случае или во втором(пишу на php, т.е. что бы узнать id мне надо будет сделать mysqli_query + mysqli_fetch_row, далее 10 раз с готовым id mysqli_query). Может есть быстрее варианты?
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Получить mysqli_insert_id при update
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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