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

`Wie automatisch eine Zahl in MySQL generieren?

, was ich wissen müssen, ist, wie man Auto eine Nummer‚Seite‘so generieren? So bedeutet es a1 a2 a3 auf Seite 1, a4 a5 a6 ist auf Seite 2 und A 7 A 8 A 9 ist auf Seite 3

habe ich versucht, mit dieser Abfrage

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

dann ist das Ergebnis

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

`

+0

warum zwei a8 ...? – scaisEdge

Antwort

1

Versuchen Sie, diese

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

thx bro das ist, was ich suche @denny –

+0

Wel-come Kumpel ... :( – denny

1
  1. Schreiben Sie Ihre eigene Funktion, um eine neue ID zu generieren.
  2. Automatisieren mit MyISAM-Tabelle Motor + AUTO_INCREMENT

Aus der Dokumentation 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 | 
+--------+----+---------+ 

Lesen Sie mehr hier - Using AUTO_INCREMENT

Verwandte Themen