首页 > 解决方案 > 如何在不更新或创建新行的情况下向同一用户添加更多数据?

问题描述

假设在数据库中我有下表:

表 - 工人

具有以下字段

我在这里要做的是让我们假设第一个用户有超过 1 条记录 origindestinationsdate填写。

所以基本上,假设我有用户“Mike”,我想插入几个"origin""destination""date"信息,而不是总是在要显示数据的表上重复他的名字。

我在这里需要的是单个"worker_id"(假设 worker_id 为 1)在每个字段上拥有超过 1 个单个信息。

我尝试了以下查询(仅使用 origin 字段进行测试):

"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

如果只是我的逻辑思维是错误的,那么如果有人能以正确的方式指出我,我将不胜感激。对于一个 ID,具有单个字段的多个信息。

标签: phphtmlmysql

解决方案


最简单的解决方案是规范化数据库模式。在您的情况下,这意味着下表(我假设出发目的地是某种旅行日志数据)。

用户

id
name

旅游日志

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

希望有帮助。


推荐阅读