2017-07-26 15 views
0

我有一個SQL代碼不能工作:列「點擊」在字段列表是不明確的

INSERT INTO t_ruleid(logdate,month,hour,ruleid,Hits,Host,cdn_id) select b.logdate,b.month,b.hour,b.ruleid,b.Hits,b.Host,b.cdn_id from t_ruleid_back as b ON DUPLICATE KEY UPDATE Hits=Hits+b.Hits; 

它得到了錯誤列「點擊」在字段列表是不明確的

我怎樣才能使它工作?

謝謝!

+1

消除不確定性,所以'命中= t_ruleid.Hits + b.Hits' – Strawberry

+0

謝謝!這行得通! –

回答

0

通常情況下,你可以使用values()得到一個什麼樣傳入的值:

insert into t_ruleid(logdate, month, hour, ruleid, Hits, Host, cdn_id) 
    select b.logdate, b.month, b.hour, b.ruleid, b.Hits, b.Host, b.cdn_id 
    from t_ruleid_back as b 
    on duplicate key update Hits = Hits + values(Hits); 

我不知道通過b.Hits會產生雖然該特定錯誤。

+0

它仍然得到了同樣的錯誤,列「點擊」在字段列表是不明確的 –

+1

這不是b.hits。這是缺少* t_ruleid * .hits! – Strawberry