Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107

    [MySql] Nuovo campo auto-increment.... già fatto

    Salve a tutti!

    Devo agguingere un campo ad una tabella. Il canonico "ID" autoincrementale, univoco.

    Se lo creo e lo setto come PK e autoincrement, però, mi setta tutti i campi a "1".

    C'è modo per dirlgi "fai l'autoincrement retroattivo ora" ?
    Guybrush Threepwood

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    codice:
    alter table tabella add column id int not null auto_increment first, add primary key (id)

  3. #3
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    Grande come sempre

    PERO' (c'è sempre un però), se faccio
    codice:
    alter table tb_login add column idlogin int not null auto_increment first, add primary key (idlogin)
    Mi ritorna: "[mysqlcctmp_1] ERROR 1068: Multiple primary key defined".

    Effettivamente ho un'altra PK... è un problema?
    Guybrush Threepwood

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Originariamente inviato da Threepwood

    Effettivamente ho un'altra PK... è un problema?
    non puoi avere due chiavi primarie in una tabella.

  5. #5
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    Sarebbe possibile se no fare lo stesso lavoro ma anzichè impostarla come PK, impostarla come UINQUE?
    Guybrush Threepwood

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Ma l'altra chiave primaria che hai già cosa sarebbe?

  7. #7
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    Ti spiego, è una tabella di login dove la PK è il login stesso
    per cui:
    idlog --> PK --> (es. Guybrush)
    idlogin --> dovrebbe essere l'incrementale univico
    Guybrush Threepwood

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Non capisco perchè idlog dovrebbe essere una chiave primaria.

  9. #9
    Originariamente inviato da Threepwood
    Ti spiego, è una tabella di login dove la PK è il login stesso
    per cui:
    idlog --> PK --> (es. Guybrush)
    idlogin --> dovrebbe essere l'incrementale univico
    la chiave primaria serve ad identificare un record in modo univoco e a rigor di logica dovrebbe "solo" fare quello.

    Come lo usi tu invece e' un attributo del record, cioe' fa parte dei dati del record. Se cancelli uno user e poi lo rimetti questo valore andrebbe a pallino come chiave primaria... infatti senti la mancanza di un id autoincrement.

    Rimuovi l'autoincrement all'idlog e settalo invece come indice UNIQUE e poi aggiungi una colonna con la PK autoincrement.... come ti ha suggerito nicola.

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

  10. #10
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    difatti... è una cosa che avevo in mente di fare da tempo... ma fino a quando le cose funzionano
    Guybrush Threepwood

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 © 2024 vBulletin Solutions, Inc. All rights reserved.