gpt4 book ai didi

mysql - 插入而不是全部插入

转载 作者:行者123 更新时间:2023-11-29 00:36:30 25 4
gpt4 key购买 nike

以下是我的查询,我试图在其中插入名称不存在于食品(插入表)中的那些记录。对于 id 生成,我试图从 food 中获取计数并向其添加一个 COUNT( food.FOOd_id ) +1 例如。 Chineese_01 然后将来自pick 表的名称与food 表的foodname 进行比较。为了允许插入那些尚不存在的名称。以下查询给出了正确的结果,但它进行了一次插入(一行),当我再次运行它时,它再次进行一次插入,依此类推。请告诉我如何修改以下查询,以便它应该为所有人插入。谢谢

    INSERT IGNORE into food(FOOD_id,FOOD_name)
Select CONCAT( FOOD,"_", COUNT( food.FOOd_id ) +1 ),CONCAT( Typ,CONCAT('(' ,family,')' )) from pick,food
where CONCAT( Typ,CONCAT('(' ,family,')' )) NOT IN (Select FOOD_name from food )

SQL FIDDLE:(用于测试和进行正确的查询)

http://sqlfiddle.com/#!2/91408/1

最佳答案

问题在于 SELECT 子句中的 COUNT() 是强制聚合,因此只会选择一行。您需要指定一个分组,或将其移动到子查询。将其添加到查询的底部是解决它的一种方法:

GROUP BY pick.food, pick.typ, pick.family

关于mysql - 插入而不是全部插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14045617/

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