Likes Likes:  0
Resultaten 1 tot 6 van de 6
Geen
  1. #1
    Bas Hendriks
    Probleem met een AUTO_INCREMENT veld in MySQL
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Probleem met een AUTO_INCREMENT veld in MySQL

    Hallo,

    We hebben in MySQL een tabel een veld ID die als AUTO_INCREMENT gedefineerd
    is(int veld),
    als we (voor een wissel) een ID op -1 zetten dan wordt de AUTO_INCREMENT
    value de Max int value(2147483647), waardoor er geen items meer toe te
    voegen zijn.
    Melding: ERROR 1062: Duplicate entry '2147483647' for key 1

    Waarom telt mysql niet gewoon verder vanaf het met auto_increment laatste
    uitgegeven ID?
    Kan ik de auto_increment teller handmatig resetten? (Niet met ALTER TABLE
    test AUTO_INCREMENT=20;
    e.d. want dat is puur het startpunt)

    --
    Met vriendelijke groet,
    Bas Hendriks




  2. #2
    Alain
    Probleem met een AUTO_INCREMENT veld in MySQL
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Probleem met een AUTO_INCREMENT veld in MySQL

    Bas Hendriks schreef:

    > als we (voor een wissel) een ID op -1 zetten dan wordt de
    > AUTO_INCREMENT value de Max int value(2147483647)
    >
    > Waarom telt mysql niet gewoon verder vanaf het met
    > auto_increment laatste uitgegeven ID?



    Misschien omdat MySQL geen negatieve waarde wil in het auto
    increment veld?


    --
    Alain

    spamsux.nl



  3. #3
    Bas Hendriks
    Probleem met een AUTO_INCREMENT veld in MySQL
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Probleem met een AUTO_INCREMENT veld in MySQL

    > Bas Hendriks schreef:
    >
    > > als we (voor een wissel) een ID op -1 zetten dan wordt de
    > > AUTO_INCREMENT value de Max int value(2147483647)
    > >
    > > Waarom telt mysql niet gewoon verder vanaf het met
    > > auto_increment laatste uitgegeven ID?

    >
    > Misschien omdat MySQL geen negatieve waarde wil in het auto
    > increment veld?
    >


    Dit kan volgens mij wel(is gewoon een signed integer, dus -2147483648 tot
    2147483647 moet kunnen):
    #> tabel voor bewerking
    mysql> select * from test;
    +----+-------+
    | no | titel |
    +----+-------+
    | 1 | test1 |
    | 2 | test2 |
    | 20 | test3 |
    | 6 | test7 |
    | 5 | test5 |
    +----+-------+
    5 rows in set (0.00 sec)
    #> 1 id -1 maken
    mysql> UPDATE test SET no="-1" where no=2;
    Query OK, 1 row affected (0.00 sec)
    Rows matched: 1 Changed: 1 Warnings: 0

    mysql> select * from test;
    +----+-------+
    | no | titel |
    +----+-------+
    | 1 | test1 |
    | -1 | test2 |
    | 20 | test3 |
    | 6 | test7 |
    | 5 | test5 |
    +----+-------+
    5 rows in set (0.00 sec)

    mysql> desc test;
    +-------+--------------+------+-----+---------+----------------+
    | Field | Type | Null | Key | Default | Extra |
    +-------+--------------+------+-----+---------+----------------+
    | no | int(16) | | PRI | NULL | auto_increment |
    | titel | varchar(255) | YES | | NULL | |
    +-------+--------------+------+-----+---------+----------------+
    2 rows in set (0.01 sec)

    #> nieuwe item toevoegen, dit kan 1 keer, nu wordt maxval voor id gebruikt
    mysql> INSERT INTO test VALUES("","test8");
    Query OK, 1 row affected (0.00 sec)

    mysql> select * from test;
    +------------+-------+
    | no | titel |
    +------------+-------+
    | 1 | test1 |
    | -1 | test2 |
    | 20 | test3 |
    | 6 | test7 |
    | 5 | test5 |
    | 2147483647 | test8 |
    +------------+-------+
    6 rows in set (0.00 sec)

    #> waarna je niet meer kan toevoegen

    mysql> INSERT INTO test VALUES("","test9");
    ERROR 1062: Duplicate entry '2147483647' for key 1
    mysql>
    (Dit doet zich ook voor als -1 weer teruggezet wordt of verwijderd wordt)

    Ik vond wel deze posting:
    http://www.geocrawler.com/mail/msg.p...4586681&list=8
    Dit lijkt wel hetzelfde probleem, maar kan er verder niet veel mee (geen
    myisam meer gebruiken)



  4. #4
    Alain
    Probleem met een AUTO_INCREMENT veld in MySQL
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Probleem met een AUTO_INCREMENT veld in MySQL

    Bas Hendriks schreef:

    >> Misschien omdat MySQL geen negatieve waarde wil in het
    >> auto increment veld?
    >>

    >
    > Dit kan volgens mij wel(is gewoon een signed integer, dus
    > -2147483648 tot 2147483647 moet kunnen):



    Het veld kan misschien wel een -1 aan, maar mysql kan die
    waarsch niet auto incrementen enzo?


    --
    Alain

    spamsux.nl



  5. #5
    Igmar Palsenberg
    Probleem met een AUTO_INCREMENT veld in MySQL
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Probleem met een AUTO_INCREMENT veld in MySQL

    Bas Hendriks wrote:

    > We hebben in MySQL een tabel een veld ID die als AUTO_INCREMENT gedefineerd
    > is(int veld),
    > als we (voor een wissel) een ID op -1 zetten dan wordt de AUTO_INCREMENT
    > value de Max int value(2147483647), waardoor er geen items meer toe te
    > voegen zijn.
    > Melding: ERROR 1062: Duplicate entry '2147483647' for key 1


    Welke versie van MySQL gebruik je ? Dit is een bug die volgens mij
    allang is opgelost.



    Igmar


  6. #6
    Bas Hendriks
    Probleem met een AUTO_INCREMENT veld in MySQL
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Probleem met een AUTO_INCREMENT veld in MySQL

    > Bas Hendriks wrote:
    >
    > > We hebben in MySQL een tabel een veld ID die als AUTO_INCREMENT

    gedefineerd
    > > is(int veld),
    > > als we (voor een wissel) een ID op -1 zetten dan wordt de AUTO_INCREMENT
    > > value de Max int value(2147483647), waardoor er geen items meer toe te
    > > voegen zijn.
    > > Melding: ERROR 1062: Duplicate entry '2147483647' for key 1

    >
    > Welke versie van MySQL gebruik je ? Dit is een bug die volgens mij
    > allang is opgelost.
    >


    Klopt!

    Ik had het online gevonden, simpele upgrade zou het moeten verhelpen.
    Bedankt folks!

    B



Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2026 Webhostingtalk.nl.
Web Statistics