我有這個查詢應該激活帳戶,但由於某種原因沒有工作。Mysql更新查詢奇怪的行爲
UPDATE users
SET activated = "1"
WHERE MD5(CONCAT(id, "putka")) = "5d98df6042ab7baa283606f8c8045a90"
5d98df6042ab7baa283606f8c8045a90
是ID 2023
+鹽的MD5哈希值。該查詢什麼都不做,但不返回錯誤,即0 rows affected
。
我跑下面的查詢,看看我是否得到任何結果
SELECT id
FROM users
WHERE MD5(CONCAT(id, 'putka')) = '5d98df6042ab7baa283606f8c8045a90'
並返回2023
,因爲它應該。任何人都知道爲什麼更新不起作用?
模式的2場:
id int(11) NOT NULL AUTO_INCREMENT
和
activated tinyint(4) NOT NULL DEFAULT '0'
您是否嘗試過在CONCAT函數中爲字段ID添加反引號以更新查詢? '在哪裏嘗試了MD5(CONCAT(\'id \',「putka」))' –
,看看它有沒有什麼區別 - 事實並非如此。選擇查詢分別適用於兩種方式更新查詢不會與它們一起工作 –
@php_nub_qq您可以發佈show create table對於您的表的樣子嗎?我在用'id'和'activated'列創建的測試表上運行你的第一個函數,並正確更新了這一行。 – Joshmaker