[MySQL] errore in colonna

ciao, ricevo questo errore e non riesco a capire da cosa è dato, qualcuno sa darmi 2 dritte?

mysql> INSERT INTO admin (username, password, first_name, last_name, email, admi
n_level, id)
    -> VALUES (`johndoe`, PASSWORD(`jane`), `John`, `Doe`, `john@johndoe.com`, `1
`, ``);
ERROR 1054 (42S22): Unknown column 'johndoe' in 'field list'
mysql>

grazie

inviato 8 anni fa
gabar-el
X 0 X

Non devi usare i backtick ` ma gli apici '

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

già, avevo fatto con gli apici poi ho pensato non andasse bene perché ricevo questo errore:

ERROR 1366 (HY000): Incorrect integer value: '' for column 'id' at row 1
risposto 8 anni fa
gabar-el
X 0 X

se id è un intero autoincrement allora non devi metterlo proprio nella INSERT oppure devi passargli come valore NULL (senza apici)

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

si, id è int autoincrement, ma se non lo metto nella INSERT come dici tu mi torna questo:

ERROR 1064 (42000):  You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 2

stessa cosa se gli passo null....  :buck:

è strano che ha come valore di default null.....

risposto 8 anni fa
gabar-el
X 0 X

riporta i diversi tentativi che hai provato

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

questo il lprimo per come in teoria dovrebbe essere:

mysql> INSERT INTO admin (username, password, first_name, last_name, email, admi
n_level, id)
    -> VALUES ('johndoe', PASSWORD('jane'), 'John', 'Doe', 'john@johndoe.com', '
1', '');
ERROR 1366 (HY000): Incorrect integer value: '' for column 'id' at row 1

senza id nell'INSERT e nel VALUE:

mmmhhh.... ecco, come non detto, così funzia. chissà che facevo prima.....

ormani che ci sono ne approfitto. perché viene replicato "PASSWORD"  nel value?

grazie

risposto 8 anni fa
gabar-el
X 0 X

PASSWORD è una funzione MySQL che calcola un hash di una stringa. Questa funzione non andrebbe usata poiché è stata realizzata esclusivamente per memorizzare le password degli utenti di MySQL. Al so posto dovresti usare le funzioni MD5 o SHA1

 :bye:

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