ERROR 1136 (21S01): Column count doesn't match value count at row 1

2 risposte [Ultimo contenuto]
Ritratto di Guy92
Guy92
(Geek)
Offline
Geek
Iscritto: 26/02/2014
Messaggi: 93

ciao a tutti,
non riesco a memorizzare i dati all'interno del mio database;
cerco di inserire i dati ma:

INSERT INTO wpa_keys VALUES ('1234', '1234');
ERROR 1136 (21S01): Column count doesn't match value count at row 1

la tabella esiste ed è la seguente:
show tables;
+-----------------+
| Tables_in_route |
+-----------------+
| wpa_keys        |
+-----------------+
1 row in set (0.01 sec)
 
mysql> 

le righe della tabella le ho aggiunte nel suente modo
CREATE TABLE wpa_keys (
  ID BIGINT(20) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  PASSWORD VARCHAR(100) NOT NULL,
  CONFIRM VARCHAR(100) NOT NULL
);

cosa c'è che non va???

Ritratto di badroot
badroot
(Guru)
Offline
Guru
Iscritto: 22/08/2008
Messaggi: 2083

Ciao,
il problema, credo, che sia nel fatto che la tua tabella a 3 colonne e tu nella INSERT indichi solo 2 valori, perchè la prima colonna è AUTO_INCREMENT.
Prova a fare :

INSERT INTO wpa_keys ( PASSWORD, CONFIRM ) VALUES ('1234', '1234');

in modo che sia chiaro a quali colonne sono assegnati i valori.

Ritratto di franz
franz
(Collaboratore)
Offline
Collaboratore
Iscritto: 21/12/2005
Messaggi: 424

Ciao.
La insert, a meno che tu non elenchi le colonne una per una, richiede tanti valori quante sono le colonne della tabella: nel tuo caso tre.
Lo script di creazione non aggiunge righe ma crea la tabella con le tre colonne.
HTH

There are only 10 types of people in the world: those who understand binary and those who don't.