求一个mysql Insert事务写法

连续执行insert"user"values("A");insert"user"values("B");insert"user"values("C");这样的SQL语句,... 连续执行insert "user" values("A");insert "user" values("B");insert "user" values("C");这样的SQL语句,要求三个如果有执行失败的就三个的数据都不写进数据库,应该怎么写吗? 展开
 我来答
aabb1122415
推荐于2016-03-09 · 超过17用户采纳过TA的回答
知道答主
回答量:90
采纳率:100%
帮助的人:23.2万
展开全部
这个直接用mysql语句我不知道怎么实现,借助PHP还是比较简单的。
注意,表必须为InnoDB或DBD类型,其他类型不支持Transaction事务。
下面是一段PHP代码,用来实现确认和出错回滚:

mysql_query("SET AUTOCOMMIT=0");
$sql1='insert "user" values("A");';
$sql2='insert "user" values("B");';
$sql3='insert "user" values("C");';

$res1 = mysql_query($sql1);
$res2 = mysql_query($sql2);
$res3 = mysql_query($sql3);

if($res1 && $res2 && $res3)
mysql_query("COMMIT");
else
mysql_query("ROLLBACK");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
raycar0524
推荐于2016-11-17 · TA获得超过4683个赞
知道小有建树答主
回答量:812
采纳率:0%
帮助的人:629万
展开全部
你这个直接用mysql语句我不知道怎么实现,借助PHP还是比较简单的。
注意,表必须为InnoDB或DBD类型,其他类型不支持Transaction事务。
下面是一段PHP代码,用来实现确认和出错回滚:

mysql_query("SET AUTOCOMMIT=0");
$sql1='insert "user" values("A");';
$sql2='insert "user" values("B");';
$sql3='insert "user" values("C");';

$res1 = mysql_query($sql1);
$res2 = mysql_query($sql2);
$res3 = mysql_query($sql3);

if($res1 && $res2 && $res3)
mysql_query("COMMIT");
else
mysql_query("ROLLBACK");
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-04-09
展开全部
INSERT INTO `user`
SELECT 'A' UNION ALL
SELECT 'B' UNION ALL

SELECT 'C' ;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式