php
  • mysql
  • concat
  • 2014-03-28 81 views 0 likes 
    0

    在我的數據庫表中,我有一個領域我在哪裏存儲用戶標識的爲逗號分隔值1,2,3一樣等每個用戶ID的通過更新用添加到該場在某點。所以如果字段包含值1,那麼我想在下一次更新時附加新的用戶標識爲,2,以便所有值都將用逗號分隔。MySQL的CONCAT()無法正常工作

    我使用下面的MySQL爲它:

    "UPDATE videorating 
        SET total_votes='".$added."', 
         total_value='".$sum."', 
         userid=CONCAT(userid,',$userid'), 
         used_ips='".$insertip."' 
         WHERE videoid='$id_sent'"; 
    

    這裏$userid將包含用戶ID。但是這不能正常工作。該字段沒有更新。這個查詢有什麼問題。

    誰能幫我解決這個問題。提前致謝。

    +1

    字段沒有得到更新或不正確更新?其他領域呢? – MSadura

    +3

    你有一個設計問題。您不應將多個值存儲在一列中。這就是關係表所適用的。 – Mike

    +0

    試試這個:'用戶ID = CONCAT(用戶ID, '',$用戶ID)' –

    回答

    0

    我不知道,如果你的userid列真的是varchar與否?如果它是varchar(或其他一些基於文本),那麼你的代碼應該工作。這是一樣的你,但有太多的報價:

    UPDATE videorating 
    SET total_votes='$added', 
        total_value='$sum', 
        userid=CONCAT(userid,',$userid'), 
        used_ips='$insertip' 
    WHERE videoid='$id_sent'"; 
    

    如果實際上是一個int你不能像這樣做,你需要重新考慮你想要什麼archieve。

    相關問題