php-PHP在循环中执行SQL问题

问题描述

PHP在循环中执行SQL问题
写了一个for循环来执行插入语句但是如果在循环中某一次不符合条件要退出循环时怎么样才能将之前执行的插入取消呢?

解决方案

这个需要使用事务。在循环开头的时候开始事务,在结束的时候提交,在中途退出的时候回滚。

参考
http://www.cnblogs.com/winner/archive/2011/11/09/2242272.html

解决方案二:
参考:http://www.cnblogs.com/dreamhome/archive/2012/10/22/2733715.html
http://www.cnblogs.com/luckylp/archive/2012/04/16/2451402.html

解决方案三:
可以使用一个批量插入的一次性插入多条,像tp的话就有一个addAll函数,然后你再有其他操作加事物更加安全

解决方案四:
需要使用事务来实现。

解决方案五:
http://www.cnblogs.com/ymy124/p/3718439.html

解决方案六:
http://unixboy.iteye.com/blog/474287

解决方案七:
http://www.cr173.com/html/25407_1.html

时间: 2024-10-09 14:07:31

php-PHP在循环中执行SQL问题的相关文章

hive中执行sql语句出现的问题

The expression after ELSE should have the same type as those after THEN: "bigint" is expected but "i hive中执行sql语句: select pc.category_id, sum(case when t.so_month between 3 and 5 then t.order_item_num else 0 end) as spring, sum(case when t.

C#和Java中执行SQL文件脚本的代码(非常有用)

原文:C#和Java中执行SQL文件脚本的代码(非常有用) 我们在做程序的时候有事后会涉及到利用sql文件 直接执行,可是在sql文件中有很多注释,我们要一句一句的执行首先必须的得把sql文件解析 去除其中的注释,还有把每一句sql语句取出来,然后再利用各个平台中的数据库相关执行它.   接下来放代码! java版本的 001 package com.zz; 002   003 import java.io.*; 004 import java.util.ArrayList; 005 impor

请大家帮忙-实现使用C#语言,在.net开发平台中执行sql语句

问题描述 实现使用C#语言,在.net开发平台中执行sql语句 实现使用C#语言,在.net开发平台中执行sql语句了,如查询某张表数据,向某张表插入一条数据,在某张表中编辑一条数据,删除某张表的一条数据. 解决方案 给你段代码,你参考一下 using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Data.SqlClient; using System.W

java-为什么我在Java类中执行SQL语句,程序没错,而数据库却没执行??

问题描述 为什么我在Java类中执行SQL语句,程序没错,而数据库却没执行?? 解决方案 不知道画了删除线是什么意思,你确认这些代码有效么 解决方案二: 你用的什么啊?Hibernate?还是别的框架啊?Hibernate的话,可能是事务没有提交,你执行flush方法就可以了 解决方案三: 代码可以贴全一点吗?看不到关键部分 解决方案四: 代码内容太少了,你的Sqlca是个什么,最起码给个声明. 解决方案五: 你的sqlca是什么啊? 解决方案六: executeSQL方法问题 这个方法只能是查

SSIS中执行SQL任务组件参数传递的问题

原文:SSIS中执行SQL任务组件参数传递的问题 症状: 执行SQL任务,传递参数到子查询中,执行报错. 错误: 失败,错误如下:"无法从使用 sub-select 查询的 SQL 语句中派生出参数信息.请在准备命令之前设置参数信息.".失败的原因可能有: 查询本身有问题.未正确设置 "ResultSet" 属性.未正确设置参数或未正确建立连接. 原因:  在 OLE DB 连接管理器中使用参数 如果执行 SQL 任务使用 OLE DB 连接管理器,则该任务的 By

以Linux的shell程序为入口到Teradata中执行SQL

Linux的Shell程序本身并不能直接访问Teradata,它是通过Teradata的BTEQ功能来间接实现访问.这个BTEQ相当于Oracle的SQLPLUS,总之是一个命令行工具. Teradata厂商提供Linux上的BTEQ安装包(其依赖的包也要安装). 下列代码不妨保存为"test_td.sh": cat <<! | /usr/bin/bteq .LOGON 192.168.9.100/td_user,123456; select * from my_db.my

100分在线急求 程序中执行.sql脚本 mysql的

问题描述 我想要在程序中执行mysql的脚本文件比如说点击一个button执行aaa.sql,请各位大虾给与帮助,给100分! 解决方案 解决方案二:自己来顶解决方案三:顶不要沉啊解决方案四:顶不要沉啊解决方案五:如果有存储过程,直接点击button时执行相关存储.如果没有存储过程,单独放进一个文本文件吧,要执行的时候读文件传sql过去!不过怎么感觉这是在多此一举啊.后缀为sql的文件就算是查询分析器打开也不是会自动执行的.你还是得调用执行的命令对象.和一般写法没多大区别的啊.解决方案六:顶不要

mysql命令行中执行sql的几种方式总结_Mysql

1.直接输入sql执行 MySQL> select now(); +---------------------+ | now() | +---------------------+ | 2013-09-18 13:55:45 | +---------------------+ 1 row in set (0.00 sec) 2.执行编写好的sql脚本 mysql> source H:/1.sql +---------------------+ | now() | +--------------

Java中for循环中执行顺序问题及break, continue用法

问题|循环|执行 最近在机子上装了jdk1.4.2,装了编辑器Eclipse3.0.1,用后感觉Eclipse确实很好用,特别是参数提示功能.网上的java资源也还不少,看了<thinking in java>中文版前几章,记点问题与发现在这里:1. for循环的一个问题for(int i=1, j=i+10 ; i<5; i++ , j=i*2)System.out.println("i="+i+" j="+j); 运行结果:i=1 j=11i=