[MySQL] auto incre INT veld die begint vanaf 2000?

Pagina: 1
Acties:
  • 215 views sinds 30-01-2008
  • Reageer

  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
Hey,

ik wil een INT veld maken in een MYSQL tabel die vanaf 2000 begint, de eerste row moet dus INT 2000 hebben, de 2e krijgt 2001 toegewezen, etc.

Hoe krijg ik dit voor elkaar?
Ik dacht eerst zelf; laat ik de DEFAULT waarde eens op 2000 zetten, misschien dat hij dan vanaf 2000 begint, maar dat werkte dus niet.

Iemand een suggestie?

Mijn oplossing zou zijn om alvast 1 row in te vullen die een INT 2000 heeft, daarna gaat hij vanzelf verder, maar dat is niet echt netjes...

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Aangezien er geen echt sequence type gebruikt wordt, zoals in serieuzere databases, kan je het waarschijnlijk niet anders oplossen :(

  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
Minder...echt minder, want dan wordt dat lege veld ook overal opgevraagd :(

Of ik moet die tabel een 'loosveld' tinyint meegeven en bij elke query 'WHERE loosveld!='1'' opgeven :)

(dat ene veld is dus een loos veld ;))

Verwijderd

snap je niet helemaal...
je bedoeld niet een auto_inc veld maar een gewoon INT veld wat altijd hoger dan 2000 moet zijn??????

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

stel er was sequence support, dan wilde ie dat er een sequence gebruikt zou worden met startwaarde 2000

Maar dat dus in mysql ;)

  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
Wat sequence support precies inhoud weet ik niet, maar ACM heeft wel gelijk, de eerste row in m'n tabel moet in dat INT veld de waarde 2000 hebben, de volgende 2001, etc.

Verwijderd

ja ik kan het niet snappen hoor, maar dan gebruik je toch een auto_increment veld met beginwaarde 2000

http://www.mysql.com/doc/S/E/SET_OPTION.html

zo niet, waarom zou je het niet gebruiken? Ik volg je achterliggende gedachte niet helemaal dan :)

  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
Op vrijdag 01 maart 2002 10:39 schreef woeitje het volgende:
ja ik kan het niet snappen hoor, maar dan gebruik je toch een auto_increment veld met beginwaarde 2000
Dat werkt dus niet...

  • Grum
  • Registratie: Juni 2001
  • Niet online
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
mysql> create table test (id int auto_increment primary key not null);
Query OK, 0 rows affected (0.01 sec)

mysql> insert into test values (1999);
Query OK, 1 row affected (0.00 sec)

mysql> insert into test values (NULL);
Query OK, 1 row affected (0.00 sec)

mysql> select * from test;
+------+
| id   |
+------+
| 1999 |
| 2000 |
+------+
2 rows in set (0.00 sec)

ranzig maar werkend

  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
Op vrijdag 01 maart 2002 11:29 schreef Grum het volgende:
ranzig maar werkend
Ja ok, maar die oplossing had ik zelf ook al gevonden:
Op vrijdag 01 maart 2002 09:57 schreef TangLeFuzZ het volgende:
Mijn oplossing zou zijn om alvast 1 row in te vullen die een INT 2000 heeft, daarna gaat hij vanzelf verder, maar dat is niet echt netjes...

  • Grum
  • Registratie: Juni 2001
  • Niet online
* Grum slaat zichzelf

FIJN dat ik wakker ben .. sorry :+

Verwijderd

Op vrijdag 01 maart 2002 11:26 schreef TangLeFuzZ het volgende:
Dat werkt dus niet...
WAT werkt dus niet? Op die manier is wel de bedoeling alleen het 'setten' van de beginwaarde werkt niet?

Verwijderd

Op vrijdag 01 maart 2002 11:31 schreef TangLeFuzZ het volgende:
Ja ok, maar die oplossing had ik zelf ook al gevonden:
ben je er nou uit of niet?
wat je kunt doen is zoals Grum aangaf, en dan gewoon die 1999 weer deleten, dan blijft je auto_inc verdertellen en de volgende is dan gewoon 2000.
Dan is je probleem toch opgelost? Misschien niet zo mooi maar resultaat is hetzelfde toch?

  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
Ja ik ben er op die manier uit ja, dat werkt op zich wel.
Had alleen gehoopt dat er een betere oplossing voor was.
Pagina: 1