如何插入多行? -- php 领域 和 arrays 领域 和 activerecord 领域 和 yii 领域 和 transactions 领域 相关 的问题

How to insert multiple rows?


简体版||繁體版
0
vote

问题

中文

我有一组在10到200之间的行,我需要插入数据库。 Active Records 为此任务很慢,我通过这种方式使用命令构建器:

          $builder = Yii::app()->db->schema->commandBuilder;         $command=$builder->createMultipleInsertCommand('AviaOrders',$ordersInfoToSave );         $command=$builder->createMultipleInsertCommand('ItineraryInfo',$itineraryInfoToSave );         $command->execute();   

其中 $ordersInfoToSave $itineraryInfoToSave 是具有以下结构的属性阵列。

   array(array(name=>value,...),array(name=>value,...),...)   

因为我使用的是yii-1.1.3,我没有commandbuilder的方法 createMultipleInsertCommand

是,如何插入多行,使用 ActiveRecords 以及 CommandBuilder

英文原文

I have a set of rows between 10 to 200, which i need to insert into Database. Active Records is slow for this task, i am using command builder by this way:

        $builder = Yii::app()->db->schema->commandBuilder;         $command=$builder->createMultipleInsertCommand('AviaOrders',$ordersInfoToSave );         $command=$builder->createMultipleInsertCommand('ItineraryInfo',$itineraryInfoToSave );         $command->execute(); 

Where $ordersInfoToSave and $itineraryInfoToSave are arrays of attributes with following structure.

 array(array(name=>value,...),array(name=>value,...),...) 

Since i am using Yii-1.1.3, i have not CommandBuilder's method createMultipleInsertCommand.

So, how to insert multiple rows, using ActiveRecords as well as CommandBuilder?

              

回答列表

1
 
vote
vote
最佳答案
 

您可以创建一串MySQL INSERT命令作为

  func InitTime(t *Time) {   t.hour, t.min, t.sec = time.Now().Clock() } 2  
 

You can create a string of MySql Insert Command as

$ordersInfoToSave='';  foreach ($records as $record) $ordersInfoSave.="('{$record['attribute1vlaue']}','{$record['attribute2vlaue']}'),";  if($ordersInfoSave !== NULL){ $ordersInfoSave=substr($ordersInfoSave,0,-1); $query='Insert Into AviaOrders (`attribute1`,`attribute2`) values '.$ordersInfoSave;   Yii::app()->db->createCommand($query)->execute();  } 
 
 

相关问题

5  如何进行内存进程交易?  ( How do i make an in memory process transactional ) 
我很熟悉使用一个事务RDBMS,但如果事务发生故障,我将如何确保对我内存数据的更改回滚?如果我甚至没有使用数据库,该怎么办? 这是一个创意的例子: public void TransactionalMethod() { var items = GetListOfItems(); foreach ...

4  如何在SQL Server事务中设置“设置XACT_ABORT”?  ( How to set set xact abort on in a sql server transaction ) 
我想在SQL Server 2008R2中设置 SET XACT_ABORT ON 使用事务,在创建脚本中进行: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET XACT_ABORT ON GO CREATE PROCEDURE MyProc AS BE...

0  我是否能够跟踪C#/。在SQLSERVER或ORACLE数据库上的TIMEOUT事务?  ( Am i able to track the timeout transactions in c net on sqlserver or oracle da ) 
它能够通过使用C#/。网捕获SQLSERVER或Oracle数据库上的超时事务?目前我正在研究一个Windows服务,需要在SQLServer或Oracle中监视特定数据表,但我不知道如何实现这种要求。 ...

0  强制MSDTC orphan一个SQLServer分布式事务  ( Force msdtc to orphan a sqlserver distributed transaction ) 
在关闭我的基于WebSphere的Javaee应用程序时,分布式事务有时会在SQLServer 2005数据库中留下。这些永远保留他们的锁,必须手动杀死。它们通常在好文章。 文章谈论事务协调器如何无法协调分布式交易参与者,因此使用-2的进程ID标记事务。 鉴于我们不经常得到这个问题,但它总是在关闭应用程序时发生,我不...

6  TransactionIndoubtException使用System.Tansactions在SQL Server 2005上  ( Transactionindoubtexception using system transactions on sql server 2005 ) 
此帖子的潜在问题是"为什么不促进的LTM交易有任何疑问?" 我得到system.transactions.transactionIndoubtException,我无法解释原因。不幸的是,我不能重现这个问题,但根据它确实发生的跟踪文件。我正在使用SQL 2005,连接到一个数据库并使用一个SQLConnectio...

2  Rails测试使用外过程数据库访问权限?  ( Rails testing with out of process database access ) 
我正在构建一个Rails应用程序,需要一些模型来与一些必要的Java库进行交互。为此,我想在MRI上使用Rails - 而不是JRuby或RBJ。 Java代码只需要读访问由Rails应用程序管理的数据库表。 一种方法是设置读取Rails应用程序数据库表的servlet。 问题是在测试期间,使用Rails事务夹具使...

0  Load Runner:为什么交易转到停止?  ( Load runnerwhy the transactions go to stop ) 
我有时运行了我的场景并获得了类似的结果 - "事务摘要" 表中有数十个"停止" 表"摘要报告" 。但我们的"绩效标准" 不允许包含任何"停止" 。 我试图从脚本中删除会群并运行方案。结果,"停止" 计数减少到1甚至0.但是除去了对测试计划的删除。不允许。 我已经搜索过"停止" 表示"这是停止的迭代计数" 。 ht...

14  事务回滚和Web服务  ( Transaction rollback and web services ) 
给出了从会话bean调用两个Web服务方法的示例,如果在调用两种方法之间抛出异常,该怎么办?在没有调用Web服务的情况下,交易将回滚并且没有损害。但是,Web服务将不会回滚。当然,即使有一个Web服务也存在问题。虽然这是我对与EJB会话Bean有关的解决方案感兴趣的普通问题。 简单和自定义的答案是为每个"实际功能" ...

21  在仅具有选择的事务中的提交和回滚之间是否有区别?  ( Is there a difference between commit and rollback in a transaction only having s ) 
我们在我公司使用的内部应用程序框架使得必须将每个SQL查询放入事务中,即使我知道没有任何命令都不会在数据库中进行更改。在会话结束时,在关闭连接之前,我提交事务将其正确关闭。如果我滚动回来,我想知道是否有特别的差异,特别是在速度方面。 请注意,我正在使用Oracle,但我想其他数据库具有类似的行为。此外,我无法对开始交...

2  我可以重用交易吗?如何? [关闭]  ( Can i reuse a transaction and how ) 
关闭。这个问题不符合堆栈溢出指南。它目前不接受答案。 想要改进这个问题?更新问题,所以它是关于堆栈溢出的主题。 关闭 2年前。 ...

0  Teradata 14中的交易隔离级别与IsolationLevel.snapshot紧密匹配?  ( What transaction isolation level in teradata 14 closely matches isolationlevel s ) 
我正在使用Teradat 14 .NET提供商。我想在单个事务中执行以下SQL: delete mydb.mytable; insert into mydb.mytable select * from mydb.myothertable; 我遇到的问题是,删除即时时,插入需要几秒钟。如果在删除之后发生选择,...

0  如何在商家仓库数据库中存储信用卡号码?  ( How to store credit card number in merchant warehouse data vault ) 
我计划在我当前的项目中整合商家洁具支付网关进行信用卡交易。为此,我需要将信用卡号保存在商家ware kault中不到数据库。我有API文件,但没有一个文件介绍如何将信用卡号存储到Vault。 ...

2  是否有可能在Oracle中进行事务发送电子邮件?  ( Is it possible to transactionally send an email in oracle ) 
我有许多情况下我做的事情: ... do some database action ... COMMIT; if ( commit succeeded without error ) { send an email } 是否有任何直接的方式在Oracle 11g中自动执行此操作? 关于我想到这样做...

0  使用准备好的报表失败了  ( Transactions with prepared statements fails ) 
我尝试使用 transactions prepared statements 以更新表 INVENTORY 其中: CREATE TABLE "INVENTORY" ( "product" VARCHAR NOT NULL, "version" VARCHAR NOT NULL, "lo...

0  execute()与准备好的陈述  ( Exception on execute with prepared statements ) 
这真的看起来像简单的任务,但仍然,仍然是靠在墙上的几个小时,并搜索网上任何线索解决这个问题也没有帮助。 错误: 简而言之,我在第一个 execute()呼叫内部 foreach 循环。 Error while execute data (User1, Group1) exception 'PDOExcept...

0  Nibernate与多个会话的交易问题  ( Nhibernate transaction problem with multiple sessions ) 
我已设置nhibernate以使用MS SQL Server 2008在Windows服务中运行。我使用常规交易码来确保操作是原子的。 Nibernate设置为创建每个组件的会话工厂。 我想向3个不同的组件写入对象的更改。 当我当时使用一个或两个程序集时,一切都很好,但是当我从第三个装配添加读取时,我遇到问题。 i...

0  将锁表作为准备好的声明?  ( Lock table as a prepared statement ) 
准备锁表声明是有意义的吗?我并不真正关注这里的效率,因为它只会在一次交易中执行一次,并且每分钟最多几次。我更想知道这个概念是否有意义。 我正在使用postgreSQL jdbc驱动程序,如果它很重要。 ...

2  efefelize的交易不起作用  ( Transaction with sequelize doesnt work ) 
我想建立一个简单的webform,您可以在其中输入人员名字,lastname并为此人员选择多个组(但现在是一个) 我正在使用node.js并esefelize将该人存储在mariadb -database中。 eseedize根据定义的模型创建了表人员,组和 groupspersons 。 var Sequel...

3  在SQL Server 2005中捕获错误266  ( Trapping error 266 in sql server 2005 ) 
有没有办法陷阱错误266 通过某种方式包裹exec语句,在jdbc或内部sql内部? 我们正在寻求在退出的存储过程周围开发警卫,以常用的方式左左打开。这有助于防范程序员错误,可以在与连接池组合时造成重大问题。 ...

3  JUnit测试失败 - 抱怨刚插入的数据  ( Junit test failing complaining of missing data that was just inserted ) 
我在junit测试中有一个非常奇怪的问题,我似乎无法钉在一起。我有一个多模块Java WebApp项目,具有相当标准的结构(DAO,Service Clasess等)。在该项目中,我有一个"核心" 项目,其中包含一些抽象的设置代码,该代码插入测试用户以及用户的必要项目(在这种情况下,"企业" ,因此用户必须属于企业,...

1  PostgreSQL API是否不支持与交易相关的方法?  ( Does the postgresql api for php not support methods relating to transactions ) 
例如使用mysqli有一个自动控制()方法,提交()和回滚()。看来PHP的Postgres不支持这些方法,您只能在实际SQL中执行交易。这是正确的吗? ...

1  HOWTO处理ActiveRecord 3.0.4和DB_Chereaner的嵌套事务  ( Howto handle nested transaction with activerecord 3 0 4 and db cleaner ) 
我们正在使用db_cleaner使用Clean Method :transaction 在Rails 3.0.4应用程序(我们无法升级)mysql 5.x db。我们无法使用 :truncation ,导致我们松散的种子数据。 现在我们面临以下问题。 ActiveRecord自动生成一个事务,当例如 :create...

3  如何使我的POJOS交易?  ( How do i make my pojos transactional ) 
我有一个多线程,多服务器Web应用程序,具有Hibernate和Spring管理与AOP的事务。问题是,我需要维护内存数据并将其与数据库的状态保持在...基本上我正在实现内存中的缓存。 现在,有没有办法使我的内存POJO在与休眠/春季交易相同的级别的交易?我有服务呼叫分层30级,我从不知道提交的位置。我的选择是什么?...

0  一个交易中的两个事务休眠  ( Two transaction within one transaction hibernate ) 
我正在使用Struts 1,Spring 3和Hibernate 3维护应用程序。 我想加入两个服务,但每个服务都有1个交易。我认为我正在思考的解决方案是1个服务,其中1个交易包括两个服务。这是可能的吗? - 位于DAO的交易。 *服务速度: public void saveExpedienteCoacti...

18  如何使用与datacontext的事务  ( How to use transactions with a datacontext ) 
我可以用datacontext使用事务,以便我可以在错误后回滚上下文的状态?如果是这样,那么这是如何工作的? ...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有