十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
方法一、直接在程序中实现,推荐
创新互联始终致力于在企业网站建设领域发展。秉承“创新、求实、诚信、拼搏”的企业精神,致力为企业提供全面的网络宣传与技术应用整体策划方案,为企业提供包括“网站建设、成都响应式网站建设公司、手机网站建设、微信网站建设、微信小程序、成都商城网站开发、平台网站建设秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
方法二、数据库
select @x:=ifnull(@x,0)+1 as rownum, * from tbl
rownum就是你要的编号
Oracle
不直接支持 自动递增的列。
需要创建一个序列 SEQUENCE。
又由于无法在列的默认值那里,设置默认值为序列。因此只能通过触发器来设置。
SQL CREATE SEQUENCE test_sequence2
2 increment by 1 -- 每次递增1
3 start with 1 -- 从1开始
4 nomaxvalue -- 没有最大值
5 minvalue 1 -- 最小值=1
6 NOCYCLE; -- 不循环
Sequence created.
SQL CREATE TABLE test_create_tab2 (
2 id INT,
3 val VARCHAR(10),
4 PRIMARY KEY (id)
5 );
Table created.
SQL CREATE OR REPLACE TRIGGER BeforeTestCreate2Insert
2 BEFORE INSERT ON test_create_tab2
3 FOR EACH ROW
4 BEGIN
5 SELECT test_sequence2.nextval INTO :new.id FROM dual;
6 END;
7 /
Trigger created
SQL Server
通过 IDENTITY 来设置
参数有2个,一个是“初始值” 一个是“增量”。
1 CREATE TABLE test_create_tab2 (
2 id INT IDENTITY(1, 1) PRIMARY KEY,
3 val VARCHAR(10)
4 );
5 go
MySQL
通过
AUTO_INCREMENT设置
mysql CREATE TABLE test_create_tab2 (
- id INT AUTO_INCREMENT,
- val VARCHAR(10),
- PRIMARY KEY (id)
- );
Query OK, 0 rows affected (0.09 sec)
如果有phpmyadmin的话,可以直接在建表的时候,有个“额外”这个选项,点击进入,选中AUTO_INCREMENT
如果不能的话,则用php页面创建表的时候,在sql语句插入$sql="create table $table_name(id varchar(4) not null primary key auto_increment";再执行就可以了
需要说明的是,这个字段不是必须填入的~