簡體   English   中英

CodeIgniter:如何使用活動記錄將一個列值移動到另一個具有 Where 條件的值

[英]CodeIgniter: How to move one column value to another with Where condition using active record

我想將一個列值移動到另一個列值,例如有兩個表列'Location','Call_Location' 我想將'Call_location' 的所有值移動到'Location' 列,條件為僅選定日期范圍。 如何在 codeigniter 中做到這一點。

$text = "UPDATE phone_acc SET location = call_location WHERE dt >= 
dateformat(current_date, '%Y-%m-01')
AND dt < dateformat(current_date, '%Y-%m-01') + interval 1 month;
$this->db->query($text);

這是行不通的。

其中一個問題發現它將第二個字段名稱作為字符串值“call_type”,而它應該將其作為字段名稱。

    UPDATE `phone_acc` SET `location` = 'call_type' WHERE `call_date` = '2020-11- 
   01 01:33:51'

您的查詢缺少當月的條件。 假設日期存儲在dt列中,您將執行以下操作:

UPDATE phone_acc 
SET location = call_localtion 
WHERE id = 50959757 AND dt >= dateformat(current_date, '%Y-%m-01')

對於滿足where謂詞的每一行,這會將一個值從一列復制到同一行上的另一個值。

如果您的數據中有未來日期,也請使用上限:

dt >= dateformat(current_date, '%Y-%m-01')
AND dt < dateformat(current_date, '%Y-%m-01') + interval 1 month

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM