2010-11-08 69 views

回答

4
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)); 
+0

投票。這是一個很好的答案。 – faressoft 2010-11-08 13:04:45

+0

你爲什麼要連接? '$ values []。=「('' - 這絕對沒有意義,而且一旦你自己編寫了循環,爲什麼在將它放入查詢之前沒有將字符串轉義? – AlexanderMP 2010-11-08 13:08:19

+0

起初我認爲是串聯的。在換成陣列後,我只是忘記了。是的,最好在這裏逃跑。 – nerkn 2010-11-08 13:26:44

3

是的,當然。

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 
+0

這就是我需要的。謝謝。 – faressoft 2010-11-08 12:54:31

1

應具有多個值工作的另一種方式。

INSER INTO [table] ([columns]) VALUES ([values],[values]); 
相關問題