Я ищу способ сделать, несколько располагают в ряд, вставляет, когда я только вставляю данные для отдельного столбца.
Вот таблица в качестве примера:
+-------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+----------------+
| id | tinyint(4) | NO | PRI | NULL | auto_increment |
| name | varchar(40) | NO | UNI | NULL | |
+-------+-------------+------+-----+---------+----------------+
Я хочу смочь вставить что-то как ('администратор', 'автор', 'модификация', 'пользователь', 'гость') в столбец имени для каждой строки.
Документация 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 для этого варианта использования.
ваш синтаксис немного неправильный. заключите в круглые скобки каждый «набор» данных (в данном случае имея в виду одно значение), который вы пытаетесь вставить.
INSERT INTO User_Roll(name) VALUES ('admin'), ('author'), ('mod'), ('user'), ('guest');