gpt4 book ai didi

sql - 使用 LOOP 进行插入?

转载 作者:行者123 更新时间:2023-11-29 14:19:00 24 4
gpt4 key购买 nike

我正在使用 PostgreSQL 9.4.5 并且我是 PL/pgSQL 的新手。
我需要在 users 表中为每个用户插入一条消息记录。

像这样:

  user_id = SELECT id from users;

FOR i in user_id
INSERT INTO "messages" ("sender_id", "receiver_id", "content",
"hashed_id", "created_at", "updated_at") VALUES (1,i,
"Message text here",(SELECT concat(md5(random()::text),
md5(random()::text))),'2016-04-04 20:30:32','2016-04-04 20:30:32')';
END

如何做到这一点?

最佳答案

您可以使用 insert 来完成。 . .选择:

INSERT INTO "messages" ("sender_id", "receiver_id", "content",  "hashed_id", "created_at", "updated_at") 
SELECT 1, id, 'Message text here',
concat(md5(random()::text), md5(random()::text)),
'2016-04-04 20:30:32','2016-04-04 20:30:32'
FROM users;

注意:您不需要 concat() 的子选择。

关于sql - 使用 LOOP 进行插入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36415738/

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