gpt4 book ai didi

php - 合并2个表字段并插入到同一记录中的另一个字段

转载 作者:行者123 更新时间:2023-11-29 08:28:52 25 4
gpt4 key购买 nike

我不确定我想做的事情是否可能,但如果是的话,我显然没有正确谷歌搜索,并且希望我能在这里得到任何帮助,即使它只是一个“白痴”的链接指南”。

好吧,目前我有一个包含 150 多条记录的数据库表。每条记录都包含基本详细信息(姓名、位置、联系信息等)和登录凭据(用户 ID、密码等)。这些详细信息由网站管理员在潜在用户经历成功的面试过程后捕获(即不进行一般公开注册)。创建记录时,会为用户分配一个 6 个字符的“用户名前缀”(例如“UNPREF”),并且将其与自动增量用户 ID(例如 125)一起用作用户名(例如 UNPREF125)登录网站。但是,用户名实际上并未存储在数据库中。相反,当用户登录时,登录脚本会拆分提供的用户名,并根据相关字段检查两个 block 。

除了这个主要用户表之外,还有许多其他表包含附加信息(例如,教育资格、工作历史等),这些表通过 UserID 链接到用户,按照主表。现在,用户和管理员都可以更新用户的数据,因此,我为每一行创建了一个字段,用于记录上次修改记录的人 (modby) 以及修改时间 (modon) >)这样,如果有任何恶作剧,我可以确定谁是最后捣乱的,并且理论上,可以在没有任何“他说/她说”废话的情况下处理那个特定的人。

现在这是棘手的一点。我的用户和管理员存储在不同服务器上的不同数据库中(后者超出了我的控制范围),但我最近发现了联合表的乐趣,它运行得非常出色。不过,有一个小怪癖;因为我的用户和管理员存储在单独的数据库中,并且因为我希望最大限度地增加可以在单个数据库中存储的记录数量(每个数据库的大小限制为 100mb),而公司当前的扩张速度和每个分支机构都需要两个管理员帐户,用户和管理员最终拥有相同的 UserID 并不是不可能的情况。因此,modby 字段存储完整的用户名(即 UNPREF125 - 管理员获得自己的、唯一的用户名前缀,以便区分管理员和用户)

现在,也许是因为我是联合表的新手,但我似乎找不到一种方法来将服务器 A 上的表中的字段(即 modby)与 2 进行比较从服务器 B 调用的联合表中的单独字段(即 unprefixuserid),但我通过在服务器 B 的表中创建一个附加字段提出了一种解决方法,即 username,它存储合并的值(即“DBPREF125”),并且 modby 对此进行检查,效果很好(我确信有一种更简单的方法,但是我会把这节课留到下次再讲)。

现在,这是我的问题。管理表目前很小(只有 26 条记录),因此我使用 phpMyAdmin 手动捕获用户名,但我希望避免为用户表中的 150 多条记录手动创建用户名。有什么方法可以让 MySQL 提取 useridunprefix 字段的值,将它们连接在一起并将结果存储到 username 中相同记录的字段,或者我是否需要转向 PHP 来实现此目的,如果是这样,我将如何处理?

对于我的问题太长,我深表歉意,但我希望这有助于解释为什么 Google 今天不是我的 friend 。

提前非常感谢。

最佳答案

要将组合存储在表中:

UPDATE TableB
SET username = CONCAT(unprefix, userid);

或者你可以在比较时使用它:

SELECT *
FROM TableA a
JOIN TableB b
ON a.modby = CONCAT(b.unprefix, b.userid);

关于php - 合并2个表字段并插入到同一记录中的另一个字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17204265/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com