![]() |
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
|
![]() |
pia-sophie · 带子级的嵌套视图,不会显示子级 7 年前 |
![]() |
pia-sophie · 注册查看帮助程序了解问题 7 年前 |
![]() |
GThamizh · Mysql查询格式从ZEND更改为Yii2 7 年前 |
|
p.wright · Zend2 Post请求 7 年前 |