Mysql 在同一查询中插入、选择和更新dup
我正在尝试使用insert和select更新重复密钥Mysql 在同一查询中插入、选择和更新dup,mysql,Mysql,我正在尝试使用insert和select更新重复密钥 INSERT INTO f_s.s_d_p(dom,title,lastupdated) SELECT dom AS dDom, COUNT(db2.rets.dom) AS dcount, NOW() AS timeNow FROM db2.rets GROUP BY db2.rets.dom LIMIT 5 ON DUPLICATE KEY UPDATE title = dDom, last_updated = NOW(); 但当我运行
INSERT INTO f_s.s_d_p(dom,title,lastupdated)
SELECT dom AS dDom,
COUNT(db2.rets.dom) AS dcount,
NOW() AS timeNow
FROM db2.rets
GROUP BY db2.rets.dom
LIMIT 5
ON DUPLICATE KEY UPDATE title = dDom, last_updated = NOW();
但当我运行查询时,我总是得到“未知列dDom”
我尝试为select查询设置别名,但没有成功。使用字段名,而不是别名:
在重复键更新title=db2.rets.dom上,last_updated=NOW()代码>。或者
INSERT INTO f_s.s_d_p(dom,title,lastupdated)
SELECT * FROM (
SELECT dom AS dDom,
COUNT(db2.rets.dom) AS dcount,
NOW() AS timeNow
FROM db2.rets
GROUP BY db2.rets.dom
LIMIT 5)
a
ON DUPLICATE KEY UPDATE title = a.dDom, last_updated = NOW();
如果我想用计数更新怎么办?我可以做密钥更新title=a.dcount吗?