mak_ufo
@mak_ufo

Как правильно обновить/добавить данные, если информация о пользователе есть в другой таблице?

Здравствуйте, такая проблема. Есть две таблицы: plants и users. Связь через один-ко-многим, то есть у ОДНОГО пользователя МНОГО растений. Мне приходит id пользователя и растения. Если в таблице users есть пользователь с таким id, то надо просто добавить в таблицу plants растения, если нет, то надо ещё записать информацию и в таблицу users

Структура такая:
plants
name, id_users

users
id, time

Как правильнее реализовать?
  • Вопрос задан
  • 91 просмотр
Пригласить эксперта
Ответы на вопрос 1
@GremniX
Есть несколько вариантов
1) Просто перед вставкой проверять что такого пользователя уже нет в базе, например Select * From users Where id = $user_id
Если поставить на user_id уникальный индекс, то можно еще и так
2) INSERT INTO user SET column = 1 ON DUPLICATE KEY UPDATE updated_at = $updated_at
3) INSERT IGNORE INTO user ...

Мне лично больше нравится первый вариант, он более предсказуемый.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы