SQL获取在同一查询上执行更新的行的ID

问题描述:

我想要在同一SQL查询中执行UPDATE函数的行的IDSQL获取在同一查询上执行更新的行的ID

事情是这样的:

Select id 
from relations 
where (UPDATE relations set x1 ='0', y1='0' WHERE element_from='abc') 

我知道这可以通过两个单独的查询做,但有没有办法把它在一个单一的查询?

列在表:

id_main  
id  
type   
x1  
y1  
x2  
y2  
element_from   
element_to  
d  
session  
name 

您可以通过相关的选择

select id from relations WHERE element_from='abc' 

得到它你可以尝试像下面

SET @update_id := 0; 
UPDATE relations set x1 = '0', y1 = '0', id = (SELECT @update_id := id) 
WHERE element_from = 'abc'; 
SELECT @update_id; 
(从 How to get ID of the last updated row in MySQL?采取的想法)