Предположим, я хочу вставить эти данные:
Row 1: People = '40', Places = '15' Row 2: People = '5', Places = '10'
Я понимаю, что так вы могли бы выполнить вышеупомянутое:
mysql_query("INSERT INTO mytable(`People`, `Places`) VALUES ('40', '15'),('5', '10')");
Но что, если я хотел бы вставить в более чем два столбца с одним запросом? Что делать, если данные, которые нужно вставить, были такими:
Row 1: People = '40', Places = '15' Row 2: People = '5', Places = '10' Row 3: Things = '140', Ideas = '20' Row 4: People = '10', Things = '5', Ideas = '13'
Кажется, я не могу найти такой вопрос нигде.
Оставьте столбцы, которые вы не хотите заполнять нулями
INSERT INTO mytable(`People`, `Places`, Things, Ideas) VALUES ('40', '15', null, null),(null, null, 100, 20)
mysql_query("INSERT INTO mytable(`People`, `Places`, `Ideas`, `things`) VALUES ('40', '15', null, null), (null, '5', '10', null), ('10', null, '11', '12')");
Или, если вы хотите использовать 0 вместо null, это, скорее всего, будет более дружественным к вам приложением (без сброса нулевых ошибок)
mysql_query("INSERT INTO mytable(`People`, `Places`, `Ideas`, `things`) VALUES ('40', '15', '0', '0'), ('0', '5', '10', '0'), ('10', '0', '11', '12')");
INSERT INTO mytable(`People`, `Places`,`Things`,`Ideas`) VALUES ('40', '15', null, null), ('5', '10',null, null), (null, null, '140','20'), ('10',null,'5','13')");
Вы можете написать отдельные запросы запроса в одной строке следующим образом:
insert into table_x (collumn_x,collumn_y) values (... ; insert into table_x (collumn_y, collumn_z) values (...
и так далее
структура, позволяющая установить утверждение динамически, может быть сложной для построения, но по крайней мере это единственное решение, которое я могу определить для u в данный момент
надеюсь, это поможет вам