方法一、直接在程序中實現(xiàn),推薦
創(chuàng)新互聯(lián)始終致力于在企業(yè)網(wǎng)站建設領域發(fā)展。秉承“創(chuàng)新、求實、誠信、拼搏”的企業(yè)精神,致力為企業(yè)提供全面的網(wǎng)絡宣傳與技術應用整體策劃方案,為企業(yè)提供包括“網(wǎng)站建設、成都響應式網(wǎng)站建設公司、手機網(wǎng)站建設、微信網(wǎng)站建設、微信小程序、成都商城網(wǎng)站開發(fā)、平臺網(wǎng)站建設秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
方法二、數(shù)據(jù)庫
select @x:=ifnull(@x,0)+1 as rownum, * from tbl
rownum就是你要的編號
Oracle
不直接支持 自動遞增的列。
需要創(chuàng)建一個序列 SEQUENCE。
又由于無法在列的默認值那里,設置默認值為序列。因此只能通過觸發(fā)器來設置。
SQL CREATE SEQUENCE test_sequence2
2 increment by 1 -- 每次遞增1
3 start with 1 -- 從1開始
4 nomaxvalue -- 沒有最大值
5 minvalue 1 -- 最小值=1
6 NOCYCLE; -- 不循環(huán)
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 來設置
參數(shù)有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頁面創(chuàng)建表的時候,在sql語句插入$sql="create table $table_name(id varchar(4) not null primary key auto_increment";再執(zhí)行就可以了
需要說明的是,這個字段不是必須填入的~