auto_increment....

salve a tutti, ho un problema con l'auto_increment..

in una tabella definisco un "id": begint(20), not null, auto_increment, chiave primaria.

così facendo non c'è verso che i miei dati vengano inseriti con una insert into da  pagina web.. come mai?

se cancello il campo id però tutto funziona benissimo....

dove mi sn perso? :-\

grazie

inviato 9 anni fa
sonny
X 0 X

prova ad effettuare la stessa query da riga di comando oppure attraverso un programma di gestione di mysql( phpmyadmin ad esempio). Funziona? Ti da un errore?

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

allora da phpmyadmin scrivo la query sql:

INSERT INTO utente 
VALUES (
'nome','cognome','indirizzo','telefono','fax','email@','user','password'
)

l'errore che mi da è il seguente

Messaggio di MySQL: 

#1136 - Il numero delle colonne non corrisponde al conteggio alla riga 1

se allora faccio la query uguale a quella che ho scritto ma alla fine aggiungo IO l'id, ad esempio metto 3:

INSERT INTO utente
VALUES (
'nome', 'cognome', 'indirizzo', 'telefono', 'fax', 'email@', 'user', 'password', '3'
)

funziona tutto...

ma nn devo metterlo  l'id giusto?

risposto 9 anni fa
sonny
modificato 9 anni fa
X 0 X

La sintassi di INSERT che stai usando ti obbliga ad inserire tutti i campi. Per il campo l'autoincrement devi  mettere il valore NULL.

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

solo più una domanda.. ho provato a cancellare tutte le righe che avevo ma se faccio un nuovo inserimento l'id nn parte da 1 ma gli viene assegnato un valore come se ci fossero ancora i precedenti.. come devo fare per farlo partire dal valore corretto?

risposto 9 anni fa
sonny
X 0 X

devi cancellare e ricreare la tabella

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

alter table 'utente' auto_increment = 1;

risposto 9 anni fa
LonelyWolf
X 0 X
alter table 'utente' auto_increment = 1;

Giustissimo, ricordo solo che con le InnoDB la cosa funziona solo con MySQL 5

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda