如何在单个insert语句中插入多行?

时间:2010-11-01 06:55:01

标签: php mysql

我有5个文本框,其中包含5个特定人的联系人。我想在tblContact(person_id|contact_no)中插入5个联系人号码。我可以在一个sql语句中插入这5个联系人否或者我必须调用循环来插入5个记录吗?

3 个答案:

答案 0 :(得分:4)

许多数据库都具有多行插入功能,MySQL就是其中之一。您可以使用(在5.0以上,不确定早期版本,虽然简要介绍3.23 / 4.0 / 4.1文档似乎表明是),如:

insert into tblContact (person_id,contact_no) values
    (1, '555-5555'),
    (2, '555-1234');

更多详情here

除了:在一般情况下,如果您的数据库不支持支持多行插入,您可能只是使用围绕单个插入语句组的事务。我们发现多行插入实际上给我们带来了相当大的速度提升(无论如何我们的DBMS - YMMV)。

答案 1 :(得分:4)

INSERT INTO `tblContact` (`person_id`, `contact_no`) VALUES
('PERSON_ID_VALUE_1', 'CONTACT_NO_VALUE_1'),
('PERSON_ID_VALUE_2', 'CONTACT_NO_VALUE_2'),
('PERSON_ID_VALUE_3', 'CONTACT_NO_VALUE_3'),
('PERSON_ID_VALUE_4', 'CONTACT_NO_VALUE_4'),
('PERSON_ID_VALUE_5', 'CONTACT_NO_VALUE_5');

答案 2 :(得分:1)

您可以在1个插入语句中插入5条记录。

喜欢:插入tblContact(person_id,contact_no)值(1,'145566'),(2,'233366'),(3,'564666')