Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: [MySql] id tabella

  1. #1
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768

    [MySql] id tabella

    ciao a tutti

    mi chiedevo se è possibile usare in una tabella che ha AUTOINCREMENT nel campo "id" il valore "0".

    Cioè quando installo la tabella registro subito un record a cui assegno id=0

    quindi il successivo inserimento parte dal numero 1. Si può fare?

    ciao

  2. #2
    Utente di HTML.it L'avatar di *Ray*
    Registrato dal
    Oct 2000
    Messaggi
    495
    Puoi inserire a mano qualunque valore anche se il campo e' autoincrement. Se il valore e' > della piu' alta id presente, l'autoincrement parte da valore + 1 dopo la insert.

  3. #3
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768
    grazie, quindi il valore "0" è consentito e riconosciuto

    giusto?

  4. #4
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768
    il valore '0' non lo prende. Parte da 1. Nonostante l'abbia specificato nella query insert.

  5. #5
    Originariamente inviato da gasmor
    il valore '0' non lo prende. Parte da 1. Nonostante l'abbia specificato nella query insert.
    mi pare corretto. zero significa anche FALSE, nessun valore... l'equivalente di ' ' empty per le stringhe. Quindi mettendo zero non fai altro che dire nessun valore e auto_increment ci mette il suo, e auto_increment inizia da 1.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768
    niente da fare :master:

  7. #7
    Utente di HTML.it L'avatar di *Ray*
    Registrato dal
    Oct 2000
    Messaggi
    495
    A me lo accetta.

    E' un campo auto increment, che e' una proprieta' slegata dal dato che contiene.

    Ho anche provato a mettere valori negativi e li accetta, come e' giusto.

  8. #8
    allora...non puoi "inserire" un valore nella insert...qualsiasi valore metti nel campo autoincrement lui incrementa il valore precedente ignorando TOTALMENTE quello che passi...comunque con un update puoi farlo tranquillamente ^^

    infatti si definisce AUTOINCREMENT perché nella INSERT incrementa questa chiave aumentando di 1 il suo ultimo valore

    ne sono certo xche in un soft che avevo scritto avevo inserito delle righe e poi un'utente fittizzio con id zero, l'id ovviamente l'ho impostato dopo aver fatto l'insert...faccio il dump...installo dal cliente...non funziava un tubo
    e ho visto che l'id, col tutto che nella insert era presente zero, mi metteva quello successivo all'id presente nella query subito precedente ^^^

    prova a fare

    INSERT INTO a VALUES(1, 'asd');
    INSERT INTO a VALUES(1, 'asd');
    INSERT INTO a VALUES(0, 'asd');
    INSERT INTO a VALUES(1, 'asd');
    INSERT INTO a VALUES(1, 'asd');


    (dove c'è zero l'id sarà 3)

    e poi prova a fare

    UPDATE a SET id=0 WHERE id=3;

    e vedrai che funzia

    in pratica...non usare un id zero altrimenti ogni volta che fai il dump devi aggiungere un'update che ti corregga il tutto...o nel tuo installer dovrai aggiungere una query di update che ti aggiorni l'id interessato...un casotto in pratica

  9. #9
    Utente di HTML.it L'avatar di *Ray*
    Registrato dal
    Oct 2000
    Messaggi
    495
    Correggo: a me accetta qualunque valore libero a parte lo zero. Ho provato valori sia positivi che negativi, ma lo zero non ne vuole sapere.

    Usa -1 per un caso speciale.

  10. #10
    Originariamente inviato da *Ray*
    Correggo: a me accetta qualunque valore libero a parte lo zero. Ho provato valori sia positivi che negativi, ma lo zero non ne vuole sapere.

    Usa -1 per un caso speciale.
    non so cosa tu usi...ma

    ti accetta -1 SOLO se non hai settato signed il campo, cosa non molto utile, soprattutto per un'autoincrement

    dopo di che è ASSURDO che non ti prenda lo zero...ho provato con l'ultima release di mysql 3 e va...e l'ultima del 4 e va...non ho provato con mysql 4.1 ma andrà al 100% xche un cambiamento del genere vuol dire stroncare la vita a una buona quantità di software sul mercato ^^



Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.