Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Come impostare un ID contatore

    Ciao, ho appena trasferito il mio ex database di acces in MySQL. Sto affrontando molti problemi di adattamento. Sto usando un programma di prova che si chiama PHP Runner (spero non mi cancelliate la domanda) perchè davvero non so come muovermi con il MySQL. Ora ho le mie vecchie tabelle, ho impostato le relazioni e sto cominciando a sistemare l'aspetto visuale. Il problema è che quando aggiungo un nuovo record il campo ID risulta modificabile da me. Prima in acces era numerico e contatore e si incrementava automaticamente. Potreste dirmi come impostare questo parametro adesso?
    Grazie!

  2. #2

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

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    703
    query da eseguire:
    ALTER TABLE table_name ADD COLUMN tuoid INTEGER AUTO_INCREMENT UNIQUE KEY;

    questo lo rende autoincrementale e con un valore non duplicabile,
    poi dipende dalla tua struttura di tabella se è anche primary key o meno; questa è la linea guida:

    nome_colonna tipo [NOT NULL | NULL] [DEFAULT valore]
    [AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY]
    [COMMENT 'commento'] [reference_definition]

    dai un occhio anche qua => http://database.html.it/guide/lezion...ase-e-tabelle/

    ciao

  4. #4
    Perdonate la mia ignoranza.
    Ho apprezzato molto i vostri codici ma siccome sono "de coccio" non capisco proprio dove devo inserirli.
    Ho fatto in questo modo:
    in MySQL visualizzando la tabella, ho impostato l'ID come chiave primaria. Fin qui tutto OK.
    Quando però vado nella struttura della tabella e per il campo ID spunto la voce Auto Increment mi compare questa finestra di errore:

    Errore

    query SQL:

    ALTER TABLE `alberghi` CHANGE `ID` `ID` INT( 11 ) NULL DEFAULT NULL AUTO_INCREMENT

    Messaggio di MySQL: Documentazione
    #1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key

  5. #5
    Prima assegna una chiave primaria al campo e poi l'autoincrement. se per caso ci fosse un'altra chiave sul campo prima di fare la nuova rimuovi l'eventuale esistente.

    La chiave primaria e' gia' unica di suo. Non usare UNIQUE.

    codice:
    ALTER TABLE `alberghi` ADD PRIMARY KEY (`ID`) 
    ALTER TABLE `alberghi` CHANGE `ID` `ID` INT( 11 ) UNSIGNED NULL AUTO_INCREMENT

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

  6. #6
    Grazie mille!

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.