ERREUR Mysql 1136 (21S01): Column count doesn't match value count at row 1
J'ai suivantes table existante dans une base de données mysql:
+---------------------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------------------+---------------+------+-----+---------+----------------+
| f1 | int(11) | NO | PRI | NULL | auto_increment |
| field2 | int(11) | NO | MUL | NULL | |
| field3 | int(11) | YES | | NULL | |
| field4 | int(11) | YES | | NULL | |
| field6 | varchar(64) | YES | | NULL | |
| field7 | varchar(16) | YES | | NULL | |
| field8 | varchar(32) | YES | | NULL | |
| field9 | varchar(128) | YES | | NULL | |
| field10 | varchar(128) | YES | | NULL | |
| field11 | varchar(128) | YES | | NULL | |
| field12 | varchar(64) | YES | | NULL | |
| field13 | varchar(32) | YES | | NULL | |
| field14 | varchar(32) | YES | | NULL | |
| field15 | int(11) | YES | MUL | NULL | |
| field16 | date | YES | | NULL | |
| field17 | date | YES | | NULL | |
| field18 | int(11) | YES | MUL | NULL | |
| field19 | varchar(64) | YES | | NULL | |
| field20 | varchar(64) | YES | | NULL | |
| field21 | varchar(16) | YES | | NULL | |
| field22 | varchar(20) | YES | | NULL | |
| field23 | varchar(1000) | YES | | NULL | |
| field24 | int(11) | NO | MUL | NULL | |
| field25 | int(11) | NO | | 0 | |
| field26 | decimal(19,2) | YES | | 0.00 | |
| field27 | decimal(19,2) | YES | | 0.00 | |
| field28 | int(11) | YES | MUL | NULL | |
| field29 | int(11) | YES | MUL | NULL | |
| field30 | varchar(128) | YES | | NULL | |
| field31 | varchar(128) | YES | | NULL | |
| field32 | varchar(16) | YES | | NULL | |
| field33 | int(11) | YES | | NULL | |
| field34 | int(11) | YES | | NULL | |
| field35 | varchar(128) | YES | | NULL | |
| field36 | int(11) | YES | MUL | NULL | |
| field37 | int(11) | YES | | NULL | |
+---------------------+---------------+------+-----+---------+----------------+
J'ai essayer la déclaration suivante pour ajouter une autre ligne et j'obtiens l'erreur suivante:
ERROR 1136 (21S01): Column count doesn't match value count at row 1
Voici les solutions que j'ai essayé d'insérer la ligne dans la table:
insert into table (Field, Type, Null, Key, Default, Extra) VALUES ("contract_expiration", "date", "YES", "", "NULL", "");
insert into table VALUES ('contract_expiration','date','YES','','NULL','');
Reviennent tous les deux la même erreur. Il n'y a pas de déclencheurs sur la table, je ne suis pas sûr de ce qu'il se passe.
Des suggestions? Je suis relativement nouveau à la gestion de mysql, je connais un peu, mais cela m'a déconcerté et recherche les solutions n'ont rien révélé.
Toute aide qui pourrait être apportée serait BIEN apprécié!
- Vous vous rendez compte que la disposition de la table semble n'avoir rien à voir avec les requêtes que vous avez posté. Les colonnes de la
insert
ne sont pas dans la liste.
Vous devez vous connecter pour publier un commentaire.
NULL
n'est pas un nom de champ valide dans:Et
Key
etdefault
sont des mots réservés. Essayez ceci:Type
,Null
,Key
,Default
, Extra) VALUES ("contract_expiration", "date", "OUI", "", "NULL", ""); ERREUR 1064 (42000): Vous avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à votre versions du serveur MySQL pour la bonne syntaxe à utiliser près de la table (Champ,Type
,Null
,Key
,Default
, en sus) Les VALEURS ("contract_expirat' à la ligne 1contract_expiration
dans?table
est. De sorte que devrait être cité en tant que bien.J'ai eu un cas similaire, où j'ai pris la définition de la table à partir d'un serveur de dev et les données à partir d'un serveur, et il s'est avéré qu'ils étaient en réalité pas tout à fait la même.
j'ai trouvé la différence était (il y a sans doute des moyens plus intelligents pour le faire, mais c'est la façon dont je l'ai fait):
J'ai couru ce un tous les 3 cas (en direct de la base de données, développeur de base de données, et de la nouvelle base de données, j'ai créé à l'aide de la
CREATE TABLE xxx like xxx
).ensuite, j'ai simplement comparé les 3 et a constaté que le vivre et le dev a un ensemble différent de colombs, donc j'ai tout simplement manqué
jusqu'à ce que la nouvelle table est la même, comme le tableau le dump a partir, puis j'ai pu importer les données.
Par écrit de la salle de classe(clFName, clSName, clCapc) nous sommes en spécifiant les colonnes dans lequel nous voulons insérer des valeurs