Je cherche un moyen de faire des insertions à plusieurs lignes lorsque j'insère des données pour une seule colonne.MySQL: insertions multiples pour une seule colonne
Voici le tableau exemple:
+-------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+----------------+
| id | tinyint(4) | NO | PRI | NULL | auto_increment |
| name | varchar(40) | NO | UNI | NULL | |
+-------+-------------+------+-----+---------+----------------+
Je veux être en mesure d'insérer quelque chose comme ('admin', 'auteur', 'mod', 'user', 'guest') dans le nom colonne pour chaque ligne.
La documentation MySQL montre que plusieurs inserts doivent être au format:
INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);
Cependant termine ma déclaration ressemble à ceci:
INSERT INTO User_Role(name) VALUES ('admin','author','mod','user','guest');
Et je reçois le texte suivant:
erreur 1136 (21S01): Le nombre de colonnes ne correspond pas au nombre de valeurs de la ligne 1
Cela signifie que j'essaie de faire une erreur insert de rangée ngle. Je ne suis pas sûr si je manque quelque chose de simple ici, mais je ne vois rien de particulier dans les docs MySQL pour ce cas d'utilisation.
Ah, merci! Première utilisation de la syntaxe multi-insert. Je vais accepter une fois qu'il me laisse – tsgrasser
vous devez également être conscient que cela ne fonctionne pas dans MSSQL. MySQL et quelques autres prennent en charge plusieurs insertions, mais la dernière fois que j'ai utilisé SQL Server, il n'acceptait pas cette syntaxe. –
Je sais que c'est une très vieille réponse, mais je pensais juste mentionner qu'à partir de la version 2008, cela fonctionne également dans MSSQL. – user1751825