我创建了一个表,按资产标记保存工作订单的计数。我有2个字段,asset_tag(这是唯一的)和wo_count。我试图写一个查询,将插入/更新表中的计数。通过对ON DUPLICATE KEY UPDATE
的研究,我得出了这个结论,但是我得到了未知的列错误。
INSERT INTO mod_workorder_counts (asset_tag, wo_count)
(SELECT t.asset_tag, count(*) AS cnt
FROM mod_workorder_data t
WHERE t.asset_tag IS NOT NULL
GROUP BY t.asset_tag)
ON DUPLICATE KEY UPDATE mod_workorder_counts.wo_count = t.cnt
当我运行这个时,我得到#1054 - Unknown column 't.cnt' in 'field list'
。我不确定如何在更新中使用计数值。
一旦引用它为"cnt",就不再需要"t."部分了。您应该将其引用为"nt"。