有没有办法使用GORM在单个查询中插入(创建)带有select的行?
我尝试做的是连接两个表,并使用从表中选择的值(使用insert/select)将行插入到另一个表中,但我很难找到一种方法来使用GORM同时调用create和select。
基本上我希望做什么可以在下面的SQL查询:
INSERT INTO table_two (val, name, age)
SELECT table_one.some_value, '', 0
FROM table_one
WHERE table_one.some_value = 50
这会将新数据列插入table_two
,并将val
数据行值设定为table_one
中每个相符数据列的some_value
。
先谢谢你。
1条答案
按热度按时间fnvucqvd1#
我可以通过两种方式实现你的要求。
第一种方法是使用原始SQL查询(与您在问题中提供的查询相同)。多亏了
db.Exec()
函数,您可以对MySQL示例运行原始SQL语句。第二种方法是将操作拆分为两个部分:
1.首先,使用
Where
和Find
读取数据1.第二步,使用
Create
插入数据下面,您可以找到这两种解决方案:
让我知道这是否也适用于你。