如何使用php pdo在mysql中动态创建自动增量列?

如何使用php pdo在mysql中动态创建自动增量列?,php,mysql,pdo,auto-increment,Php,Mysql,Pdo,Auto Increment,可能重复: 我有两张桌子,我用两张桌子做一个并集: select * from table1 union select * from table2 我想动态创建一个自动增量列,用于创建“更多结果”分页,并将此自动增量id作为偏移量传递 我可以通过以下方式动态创建自动增量列: SELECT @i:=0; SELECT all_res.*, @i:=@i+1 AS i FROM ( select * from table1 union select

可能重复:

我有两张桌子,我用两张桌子做一个并集:

 select * 
 from table1
 union 
 select *
 from table2
我想动态创建一个自动增量列,用于创建“更多结果”分页,并将此自动增量id作为偏移量传递

我可以通过以下方式动态创建自动增量列:

SELECT @i:=0;

SELECT all_res.*, 
       @i:=@i+1 AS i 
FROM (
 select * 
 from table1
 union 
 select *
 from table2
) as all_res
但如果我在php pdo中运行查询,我会得到以下错误:

SQLSTATE[42000]: Syntax error or access violation: 1064 SELECT all_res.*, @i:=@i+1 AS i' at line 1

如何获得唯一的列id以“查看更多结果”?PDO:一次一个查询。不是两个问题。使用mysqli,因为它支持多查询

另见:


只需将您想要的列定义为
AUTO_INCREMENT
——请看这篇文章:但我想要对联合查询结果进行AUTO_INCREMENT,在表1和表2中,我已经有了一个AUTO_INCREMENT列。您是否试图在单个
PDO::query
调用中执行这两个
SELECT
s?@lanzz:只是想法相同,看起来是这样的!在PDO中不可能这样做?您可以分别执行这两个查询。自定义变量在查询之间保持不变,只要您处于相同的连接中。