【发布时间】:2014-09-06 22:13:37
【问题描述】:
我有一个存储与帐户相关联的会话哈希的表:
我想更新表中属于某个帐户的每个条目,但我没有该帐户的ID。我必须从同一张桌子上得到它。
目前我是这样做的:
注意,整个过程的唯一输入是Session Hash,命名为::INPUT_ADMIN_HASH
首先我得到 adminID:
SELECT admins_adminID FROM `adminSessions` WHERE `adminSessionHash` = :INPUT_ADMIN_HASH;
然后通过获得的 adminID 我更新同一张表:
UPDATE `adminSessions` SET `sessionValid` = FALSE WHERE `admins_adminID` = :INPUT_ADMIN_ID
我想将它们组合成一个查询:
UPDATE
`adminSessions` AS a
INNER JOIN
`adminSessions` AS b ON a.`adminSessionID` = b.`adminSessionID`
SET
a.`sessionValid` = FALSE
WHERE
a.`adminSessionHash` = :INPUT_ADMIN_HASH;
不起作用:Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences -> SQL Queries and reconnect.
我做错了什么?
【问题讨论】:
-
您是否按照说明禁用安全模式?
标签: mysql join sql-update