如何为同一个表组合多个INSERT查询

时间:2012-02-20 16:45:07

标签: php mysql sql

我有一份表格上回答的问题清单。这些问题在名为submission_questions的同一MySQL表上反复输入到相同的字段中。目前我正在对每个插入进行查询,我确信有更好的方法,我只是无法找到它。到目前为止我所拥有的是:

//Insert Department into database
$query_2 = "INSERT INTO submission_questions (submission_id, question_id, answer) VALUES ('" . $subid . "','4', '" . $dept . "')";
mysql_query($query_2) or die(mysql_error());

//Insert GPO Question into database
$query_3 = "INSERT INTO submission_questions (submission_id, question_id, answer) VALUES ('" . $subid . "','18', '" . $gpo . "')";
mysql_query($query_3) or die(mysql_error());

我最终可能会得到其中的20个,所以我需要将它们结合起来,但我很困惑如何这样做,因为它们被放入同一个领域。我在SELECT语句上看了很多帖子,但在INSERT语句中没有。有人能指出我正确的方向吗?

2 个答案:

答案 0 :(得分:4)

引用manual说: INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9)

PS。您不必将Int值括在单引号中。

答案 1 :(得分:4)

据我所知,您可以使用以下代码一次插入多个记录:

INSERT INTO example
  (example_id, name, value, other_value)
VALUES
  (100, 'Name 1', 'Value 1', 'Other 1'),
  (101, 'Name 2', 'Value 2', 'Other 2'),
  (102, 'Name 3', 'Value 3', 'Other 3'),
  (103, 'Name 4', 'Value 4', 'Other 4');

希望这有帮助。