Как сделать поле столбца и его значение одинаковыми для всех пользователей - PullRequest
0 голосов
/ 07 мая 2020

У меня есть две таблицы: одна - пользователи (id - первичный ключ), а другая - mov ie (movieid - первичный ключ, id - внешний ключ). когда один пользователь вошел в систему и отправил форму, которая содержит информацию о конкретном mov ie, она сохраняется в таблице mov ie путем создания уникального идентификатора фильма, но когда другой пользователь отправляет ту же форму того же mov ie, он создает новый mov ie id, который мне не нужен

Пример: давайте возьмем mov ie Titani c, когда пользователь paticular отправляет форму, относящуюся к столбцу titani c movieid этого пользователя быть таким же, но для меня он создает новый идентификатор фильма для каждого пользователя

        if ($result) {
            $movieid = $stmt->insert_id;
            $stmt->close();

Это небольшой код, который я использовал для создания идентификатора фильма. Я думаю, что мой код создает уникальный идентификатор фильма для каждого пользователя. Я хочу заменить этот код другим, который дает мне одинаковый идентификатор фильма для каждого пользователя, который отправляет форму, связанную с определенным фильмом, может ли кто-нибудь помочь мне с этим

Спасибо

1 Ответ

0 голосов
/ 07 мая 2020

Фрагмент кода, показанный в вопросе, не приводит к созданию новых значений.

Функция insert_id извлекает значение, которое уже сгенерировано для столбца AUTO_INCREMENT предыдущим оператором INSERT.

То, что код делал перед вызовом insert_id, и "создал" новые значения AUTO_INCREMENT. И то, что код делает после с полученным значением, может быть любым, что код хочет сделать.


С точки зрения наблюдаемого поведения, потому что мы не видим определения таблиц, поскольку мы не видим выполненного оператора SQL INSERT или какого-либо связанного кода, мы просто предполагаем, какой столбец является AUTO_INCREMENT, какая таблица была только что вставлена, откуда взялось значение AUTO_INCREMENT . Так что дать какие-либо советы о том, как изменить поведение программы, на самом деле невозможно. собираемся использовать это. (Обратите внимание, что mysqli insert_id является оболочкой для функции MySQL.)

из MySQL Справочного руководства:

Без аргументов LAST_INSERT_ID() возвращает BIGINT UNSIGNED (64-битное) значение, представляющее первое автоматически сгенерированное значение, успешно вставленное для столбца AUTO_INCREMENT в результате последнего выполненного оператора INSERT. Значение LAST_INSERT_ID() остается неизменным, если строки не были успешно вставлены.

https://dev.mysql.com/doc/refman/8.0/en/information-functions.html#function_last -insert-id

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...