MySQL 仅从 SELECT 创建具有自动增量的临时表

标签 mysql sql select auto-increment temporary-objects

使用 MySQL 我知道可以从 SELECT 创建临时表: Create a temporary table in a SELECT statement without a separate CREATE TABLE

我还知道可以在临时表中创建自动增量: Auto Increment in Temporary Table

我想同时执行这两项操作:从 SELECT 语句创建临时表,并且我希望临时表具有自动增量列。

可以这样做吗?

最佳答案

如果要创建带有行号列的临时表,则使用变量:

create temporary table temp as
    select (@rn := @rn + 1) as seqnum, t.*
    from t cross join
         (select @rn := 0) vars;

对于新的插入,这不会自动递增。如果需要,您需要更改表定义。

关于MySQL 仅从 SELECT 创建具有自动增量的临时表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26788445/

相关文章:

MySQL:(产品)价格的首选列类型?

java - 任何用于字符串 SQL 参数的 SQL 自动完成工具?

MySQL重复查询

mysql - 不使用子查询限制结果

PHP : select multiple count(id) from MySQL as one query

php - MySQL 匹配和不匹配组合

mysql - phpmyadmin 和外键

Mysql查询多表获取数据

mysql 选择计数联合

php - 带 explode 的多选 : only returns the word "Array"