我想在SQL结果的第一个位置输入序列号。
我找到了一些类似的解决方案,它正在发挥作用:
select *,@a:=@a+1 serial_number from tableName,(SELECT @a:= 0) AS a;
但我期待
select @a:=@a+1 serial_number,* from tableName,(SELECT @a:= 0) AS a;
serial_number|Name |...
---------------------------------
1 | Abc |...
2 | Def |...
3 | Ghi |...
4 | Jkl |...
5 | Mno |...
答案 0 :(得分:0)
您不需要通过SQL查询生成序列号,因为数据库存储的内置功能将为您完成工作。
只需将您的serial_number
数据字段设为默认值为PRIMARY KEY
的{{1}}。
数据库将为您管理唯一值:)
AUTO_INCREMENT
然后你将运行简单的查询
CREATE TABLE Employee
(
serial_number INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100) NOT NULL,
.
.
)
答案 1 :(得分:0)
在包含多列的表中,您需要更改结果集中列的顺序,只需指定列的名称。要列出同一个表中的所有列,只需使用table name
后跟dot
和*
,即tableName.*
SELECT serial_number, name, tableName.* FROM tableName;