Могу ли я вставить 2 строки или массив в MySQL одновременно - PullRequest
2 голосов
/ 08 ноября 2010

Могу ли я вставить 2 строки или массива в MySQL одновременно?

Ответы [ 4 ]

4 голосов
/ 08 ноября 2010
insert into table (name,other) values ('name1', 'other2'), ('name2', 'other2'), ('name3', 'other3') 

это означает, что вы можете использовать foreach как

 $values = Array();
 foreach($array as $arr)
   $values[] = "('{$arr['name']}','{$arr['name']}')";
 query("insert into table values" . implode(', ', $values ));
3 голосов
/ 08 ноября 2010

Да, конечно.

http://dev.mysql.com/doc/refman/5.1/en/insert.html

INSERT INTO my_table (field1,field2) VALUES (value1, value2), (value3, value4)

и еще один способ, который работает не только в MySQL

INSERT INTO my_table (field1,field2)
SELECT value1, value2
UNION ALL SELECT value3, value4
UNION ALL SELECT value5, value6
2 голосов
/ 08 ноября 2010
$sql = "INSERT INTO table_name (title) VALUES ('row 1'), ('row 2'), ('row 3')";

См. http://dev.mysql.com/doc/refman/5.1/en/insert.html

1 голос
/ 08 ноября 2010

Должно работать с несколькими значениями.

INSER INTO [table] ([columns]) VALUES ([values],[values]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...