我試圖使用CodeIgniter的數據庫類來減少列的值。目前,我這樣做:使用SET降低列值
public function deduct_limit($bytes, $ip_address) {
$this->db->where('ip_address', $ip_address);
$this->db->set('limit', 'limit - ' . $bytes, FALSE);
$this->db->update('limits');
}
然而,笨拋出了此錯誤消息:
您的SQL語法錯誤;檢查 對應於你的MySQL服務器版本正確的語法使用 接近「極限 - 418266480 WHERE
ip_address
=‘手動在行127.0.0.1’」 1
UPDATE `limits`
SET `limit` = limit - 418266480
WHERE `ip_address` = '127.0.0.1'
據我知道, SQL是正確的,我已經谷歌了,看着它們,他們都遵循這種語法。除了+1
或-1
之外,我不能使用這個嗎?
'limit'是MySQL中的保留字,你需要使用反引號或更好的重命名列如果可能的話,以最佳做法,以防止在將來這樣的錯誤 – amaster