gpt4 book ai didi

mysql - 从另一个表插入并插入新值

转载 作者:行者123 更新时间:2023-11-30 22:12:38 27 4
gpt4 key购买 nike

我有两个表,一个是'user_flag',另一个是'playlist_data'。

我想获取“user_flag”的所有“object_id”列条目并将它们放入“playlist_data”的相应“object_id”列中,但前提是这些条目的“用户”条目为“3”,并且它们尚不存在(没有重复的“object_id”!)。

我试着学习如何去做,这是我发现的:

INSERT INTO playlist_data (object_id)
SELECT object_id FROM user_flag
WHERE user='3';
ON DUPLICATE KEY UPDATE object_id=object_id

这能正常工作吗?

但我也在尝试同时做更多的事情,我似乎找不到答案:

1) 我还想用这个插入新数据。我希望所有新插入的条目在“播放列表数据”的“文件类型”列中也包含“5”。

我只是

INSERT INTO playlist_data (filtype)
VALUES (5)

在这一切之中?

2) 两个表都有一个'id'列,它会自动生成一个新的id跟在'playlist_data'的最新'id'之后吗?

例如,我正在从“user_flag”传输一个“id”为“150”的条目,而“playlist_data”中最高的“id”为“63”,插入的条目将为“64” ',还是我需要以某种方式定义它?

最佳答案

只需在 SELECT 中添加值:

INSERT INTO playlist_data (object_id, filtype)
SELECT object_id, 5
FROM user_flag
WHERE user = 3
ON DUPLICATE KEY UPDATE object_id = VALUES(object_id);

注意事项:

  • 我猜 id 列是数字。因此,我删除了单引号。
  • 我在 ON DUPLICATE KEY UPDATE 中使用 VALUES(object_id)
  • 只在语句的末尾使用分号很重要。

关于mysql - 从另一个表插入并插入新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39563380/

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