2010-11-01 89 views
4

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

回答

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'); 
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

旁白:在genneral,如果你的数据库没有支持多行插入,你可能只需要使用组独立INSERT语句周围的事务。我们发现多行插入实际上给了我们相当大的速度提升(无论如何,我们的DBMS - YMMV)。

1

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

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