在php中获取mysql用户定义的变量

时间:2012-09-05 05:11:44

标签: php mysql pdo

我有这样的查询

SET @update_id := 0;  
UPDATE table SET column = something, id = (SELECT @update_id := id)  
WHERE condition  
LIMIT 1;   
SELECT @update_id;

它应该更新一列并返回更新的行的id。正如您所见,在执行查询之前,我没有行的id 我正在使用pdo,有没有办法在php中获取@updated_id的值?
当我尝试使用SQLSTATE[HY000]: General error时,我得到$stmt->fetchColumn(); 我也确定查询是正确的,因为我在phpMyadmin中执行了它并且它返回了一个正确的值,所以它正在工作。 phpMyadmin的结果如下:

|   @updated_id    |  
|------------------|   
|        32        |

更新了ID为32(具有条件)的行中的所需列 有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我认为您可以在阅读简单表格时阅读此值。您还可以添加字段别名并按名称读取此字段 - SELECT @update_id AS updated_id

另一种变体是使用SELECT...FOR UPDATE语句。