gpt4 book ai didi

mysql - 重复键更新,连接表字段

转载 作者:行者123 更新时间:2023-11-29 21:25:28 24 4
gpt4 key购买 nike

kb_nid是唯一键和c_nodes表;包括 kb_nid、runState、startedTime 字段

我想在表更新之前比较旧表,但出现此错误:

"SQL Error (1054): Unknown column 'cn.runState' in 'field list'"

INSERT INTO c_nodes(kb_nid,runState,startedTime)
SELECT n.id, n.nState>10 as runState, NULL as startedTime
FROM node n
LEFT JOIN c_nodes cn ON n.id =cn.kb_nid
GROUP BY n.id
ON DUPLICATE KEY UPDATE startedTime=IF(cn.runState<>VALUES(runState) ,NOW(),cn.startedTime)

我看不出有什么问题。

编辑http://sqlfiddle.com/#!9/8f8a84

感谢您的帮助。

最佳答案

我用子查询修复了它。我猜错误原因是GROUP BY

INSERT INTO c_nodes(kb_nid,runState,startedTime) 
SELECT n.id,runState,startedTime FROM (
SELECT n.id, n.nState>10 as runState, NULL as startedTime
FROM node n
GROUP BY n.id) tt
LEFT JOIN c_nodes cn ON tt.id =cn.kb_nid
ON DUPLICATE KEY UPDATE startedTime=IF(cn.runState<>VALUES(runState) ,NOW(),cn.startedTime)

引用号:https://stackoverflow.com/a/14533265/3952108

关于mysql - 重复键更新,连接表字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35533389/

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