gpt4 book ai didi

MySQL-选择或插入

转载 作者:行者123 更新时间:2023-11-29 06:44:22 24 4
gpt4 key购买 nike

我有来自许多外部源的用户,我尝试将它们映射到内部 userId,所以我的表是:

userId, externalSourceId, externalUserId

在我的代码中,我正在获取 externalSourceIdexternalUserId 并希望从数据库获取 userId(如果存在),否则,创建一个并返回新创建的值。我需要这个操作是原子的,因为多个进程可能会尝试同时做同样的事情,所以我希望只有第一次才能创建一个 userId

在伪代码中,它看起来像这样:

  1. u = 使用 (externalSourceId, externalUserId) 查找用户
  2. 如果没有你:
    2.1. u = 使用 (externalSourceId, externalUserId) 和随机 userId 创建新用户
  3. 返回您

最佳答案

INSERT INTO `users`
(`externalSourceId`, externalUserId)
VALUES( 10, 100)
ON DUPLICATE KEY
UPDATE userId=userId

您还可以使用插入忽略。您可以阅读更多关于 DUPLICATE KEY versus INSERT IGNORE

关于MySQL-选择或插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50172584/

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