Как добавить больше данных для того же пользователя без обновления или создания новой строки?

Допустим, в базе данных у меня есть следующая таблица:

Стол - рабочие

Со следующими полями

  • имя
  • источник
  • назначения
  • Дата
  • worker_id (ПК)(ИИ)

Что я хочу сделать здесь, так это заполнить, скажем, первого пользователя с более чем 1 записью в origin, destinations и date.

Итак, по сути, скажем, у меня есть пользователь «Майк», и я хочу вставить несколько "origin" и "destination" и "date" информации, не повторяя постоянно его имя в таблице, которая будет отображать данные.

Здесь мне нужно, чтобы один "worker_id" (скажем, worker_id равен 1) имел более одной информации в каждом поле.

Я пробовал следующий запрос (используя только поле происхождения для целей тестирования):

"INSERT INTO workers(origin) SELECT FROM workers WHERE worker_id ='$worker_id'";

То, что я хотел закончить, было бы чем-то вроде:

Worker ID - 1 Origin - Brazil

Worker ID - 1 Origin - Japan

Worker ID - 1 Origin - Australia

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

Другая таблица, которая содержит «идентификатор» и «источник», «назначение» и «дата», а затем используйте соединение с «идентификатором» в своем запросе.

AbraCadaver 28.05.2019 21:47

Просто помните, никогда не помещайте переменные PHP непосредственно в SQL-запрос. Всегда используйте подготовленные операторы.

Dharman 28.05.2019 21:51
en.wikipedia.org/wiki/Database_normalization
AbraCadaver 28.05.2019 22:07
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
3
30
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Самым простым решением будет нормализация схемы базы данных. В вашем случае это будет означать следующие таблицы (я предположил, что источник и назначения - это какие-то данные журнала путешествий).

Пользователь

id
name

travel_log

id
worker_id
origin
destination
date

И затем вы присоединитесь к ним, чтобы получить желаемые (упомянутые) данные:

SELECT u.id, u.name, t.origin, t.destination, t.date 
FROM user u 
JOIN travel_log t ON u.id = t.worker_id

Надеюсь, это поможет.

Спасибо, сэр! Ты Бог!

Pedro Dias 28.05.2019 22:37

Другие вопросы по теме