単一の列のデータのみを挿入する場合に、複数の行を挿入する方法を探しています。
表の例を次に示します。
+-------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+----------------+
| id | tinyint(4) | NO | PRI | NULL | auto_increment |
| name | varchar(40) | NO | UNI | NULL | |
+-------+-------------+------+-----+---------+----------------+
各行の名前列に('admin'、'author'、'mod'、'user'、'guest')のようなものを挿入できるようにしたいと思います。
MySQLのドキュメントには、複数の挿入が次の形式である必要があることが示されています。
INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);
ただし、私のステートメントは次のようになります。
INSERT INTO User_Role(name) VALUES ('admin','author','mod','user','guest');
そして、次のようになります。
エラー1136(21S01):列数が行1の値数と一致しません
単一行の挿入を実行しようとしていると思われることを意味します。
ここで単純なものが欠落しているだけかどうかはわかりませんが、このユースケースのMySQLドキュメントには特に何も表示されません。