2017-02-06 65 views
2
page id 
1  a1 
1  a2 
1  a3 
2  a4 
2  a5 
2  a6 
3  a7 
3  a8 
3  a9 

`如何在mysql中自動生成一個數字?

什麼,我需要知道的是如何自動生成一個號碼「頁面」喜歡嗎?因此,這意味着A1 A2 A3是第1頁,A4 A5 A6是第2頁,和A7 A8 A9是第3頁

我已經使用這個查詢

set @num:=0; 
select id, @num:[email protected]+1 `Row` from promos; 

那麼結果是

嘗試
page id 
1  a1 
2  a2 
3  a3 
4  a4 
5  a5 
6  a6 
7  a7 
8  a8 
9  a9 

`

+0

爲什麼是兩個A8 ......? – scaisEdge

回答

1

試試這個

SELECT CEIL(MID(id,2)/3) as pages,id FROM promos; 
+0

thx兄弟這就是我要找的@denny –

+0

來的人來了... ... :( – denny

1
  1. 編寫自己的函數來生成新的ID。
  2. 用MyISAM表引擎+ AUTO_INCREMENT

從MySQL文檔自動執行它:

CREATE TABLE animals (
    grp ENUM('fish','mammal','bird') NOT NULL, 
    id MEDIUMINT NOT NULL AUTO_INCREMENT, 
    name CHAR(30) NOT NULL, 
    PRIMARY KEY (grp,id) 
) ENGINE=MyISAM; 

INSERT INTO animals (grp,name) VALUES 
    ('mammal','dog'),('mammal','cat'), 
    ('bird','penguin'),('fish','lax'),('mammal','whale'), 
    ('bird','ostrich'); 
+--------+----+---------+ 
| grp | id | name | 
+--------+----+---------+ 
| fish | 1 | lax  | 
| mammal | 1 | dog  | 
| mammal | 2 | cat  | 
| mammal | 3 | whale | 
| bird | 1 | penguin | 
| bird | 2 | ostrich | 
+--------+----+---------+ 

在這裏閱讀更多 - Using AUTO_INCREMENT