我有这样的查询
SET @update_id := 0;
UPDATE table SET column = something, id = (SELECT @update_id := id)
WHERE condition
LIMIT 1;
SELECT @update_id;
它应该更新一列并返回更新后的行的 id。如您所见,在执行查询之前我没有行的ID。
我正在使用 pdo,有没有办法@updated_id
在 php 中获取值?
当我SQLSTATE[HY000]: General error
尝试使用$stmt->fetchColumn();
.
我也确定查询是正确的,因为我在 phpMyadmin 中执行了它,它返回了一个正确的值,所以它工作正常。phpMyadmin 中的结果如下:
| @updated_id |
|------------------|
| 32 |
并且更新了 id 为 32 的行中的所需列(具有条件)。
有什么想法吗?