1
33
我不认为Zend_Db支持插入多行。 但是如果你只有两行或者更多,你可以使用一个循环。
Bill Karwin ,前Zend框架开发人员,写道 this on Nabble some time ago : 行集基本上是一个集合对象,因此我将向该类添加方法以允许向该集合添加行。所以你应该能够做到:
将整数传递给createRowset()以创建N个空行是没有意义的。无论如何,您只需遍历它们就可以用值填充它们。因此,您不妨编写一个循环,用应用程序数据创建和填充各个行,然后将它们添加到集合中。
这将执行与上一个示例相同的循环(除了末尾的save()之外),创建一个新的行集,即save()d。 在SQL中,有两种方法可以提高插入数据的效率:
无论如何,在一个典型的web请求中批量加载多行数据是非常罕见的,因为这时最需要高效的SQL。少量行的效率差异很小,因此只有在批量加载大量行时,效率才会有显著的提高。如果是这样,那么无论如何都不应该使用INSERT,应该使用MySQL的LOAD DATA语句,或者如果使用其他RDBMS品牌的等效功能。对于加载大量数据,INSERT通常不是最有效的选择。 关于返回自动生成的密钥,我不介意。注意,如果使用普通SQL(例如在mysql CLI中),并且在单个insert语句中插入多行,则只能获取最后生成的id值,而不能获取插入的所有行的id值。这是SQL行为;对于任何语言或任何框架都是如此。
|
2
19
您可以执行任何想要的SQL语法——包括多行
但是
|
3
13
要插入多行,可以使用Zend_Db
(来自比尔·卡温) 在您的情况下,我们可以将其更改为以下代码:
希望这有帮助 里基·里斯南达 |
4
3
|
5
1
如果您确实使用ZF2,则解决方案可能如下:
|
6
1
|
hello_programmers · Mysql从其他表输出一列 1 年前 |
Community wiki · 这个MySQL语句出了什么问题? 1 年前 |
Community wiki · 优化从同一表中提取的多列的查询 1 年前 |
Popo · Sql查询:返回数据库中不可用的where条件 1 年前 |
Hamdan Nuramdani · 对账单中一周内不同表中的数据求和 1 年前 |
Kugelfisch · 用php为数据库加密数据 1 年前 |