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 10 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 10 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 10 anni fa
sonny
modificato 10 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 10 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 10 anni fa
sonny
X 0 X

devi cancellare e ricreare la tabella

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

alter table 'utente' auto_increment = 1;

risposto 10 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 10 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda