为mysql数据库添加添加事务处理的方法

 更新时间:2011年07月05日 22:50:59   作者:  
开始首先说明一下,mysql数据库默认的数据库引擎是MyISAM,是不支持事务的,单数如果你添加了数据执行语句是不会出错的,单数不管用,即便是回滚事务,记录也是插入进去了,所有首先我们要做的第一步是更改数据库引擎
语句如下:alter table tableName engine=InnoDB;
用到的表
复制代码 代码如下:

CREATE TABLE IF NOT EXISTS `test` (
`id` int(10) NOT NULL auto_increment,
`websitename` varchar(200) character set utf8 NOT NULL,
`websiteurl` varchar(200) character set utf8 NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

第二不就是如果和添加事物:
复制代码 代码如下:

<?php
$con = mysql_connect("localhost", "root", "vertrigo");
//开始事务
mysql_db_query("mysqlnew","BEGIN");
$insertSql ="insert into test(websitename,websiteurl)values('脚本之家','https://www.jb51.net')";//该记录插入数据库
mysql_db_query("mysqlnew",$insertSql);
$insertSql ="insert into test(websitename,websiteurl)values('百度','http://www.baidu.com')";//该记录插入数据库
mysql_db_query("mysqlnew",$insertSql);
//结束事务事务
mysql_db_query("mysqlnew","COMMIT");
//开始事务
mysql_db_query("mysqlnew","BEGIN");
$insertSql ="insert into test(websitename,websiteurl)values('google','http://www.google.com.hk')";//该记录不插入数据库
mysql_db_query("mysqlnew",$insertSql);
//结束事务事务
mysql_db_query("mysqlnew","ROLLBACK");
//开始事务
mysql_db_query("mysqlnew","BEGIN");
$insertSql ="insert into test(websitename,websiteurl)values('bing','http://www.bing.com')";//该记录不插入数据库
mysql_db_query("mysqlnew",$insertSql);
?>

插入的数据
id websitename websiteurl
1 脚本之家 https://www.jb51.net
2 百度 http://www.baidu.com

相关文章

  • MySQL删除数据,表文件大小依然没变的原因

    MySQL删除数据,表文件大小依然没变的原因

    这篇文章主要介绍了MySQL删除数据,表文件大小依然没变的原因,帮助大家更好的理解MySQL中的数据表,感兴趣的朋友可以了解下
    2020-10-10
  • mysql中错误:1093-You can’t specify target table for update in FROM clause的解决方法

    mysql中错误:1093-You can’t specify target table for update in F

    最近在工作中遇到了一个mysql错误提示1093:You can’t specify target table for update in FROM clause,后来通过查找相关的资料解决了这个问题,现在将解决的方法分享给大家,有需要的朋友们可以参考借鉴,下面来一起看看吧。
    2017-01-01
  • MyEclipse通过JDBC连接MySQL数据库基本介绍

    MyEclipse通过JDBC连接MySQL数据库基本介绍

    MyEclipse使用Java 通过JDBC连接MySQL数据库的基本测试前提是MyEclipse已经能正常开发Java工程
    2012-11-11
  • MySQL explain根据查询计划去优化SQL语句

    MySQL explain根据查询计划去优化SQL语句

    MySQL是一种常见的关系型数据库管理系统,常被用于各种应用程序中存储数据,当涉及到大量的数据时,就需要MySQL的explain功能来帮助优化,本文将详细介绍MySQL的explain功能,感兴趣的朋友可以参考阅读
    2023-04-04
  • MySQL(community版)压缩包安装的超详细教程

    MySQL(community版)压缩包安装的超详细教程

    这篇文章详细介绍了如何在Windows系统上手动安装MySQL 8.0.26的压缩包版本,包括下载、解压、配置环境变量、初始化、启动服务、设置密码等步骤,同时,还提供了一个简单的SQL基础教程,需要的朋友可以参考下
    2025-03-03
  • mysql 使用profiling和explain查询语句性能解析

    mysql 使用profiling和explain查询语句性能解析

    MySQL 查询 Profile 可以告诉你每个查询花费了多长时间,使用了多少资源,执行了哪些操作等,这篇文章主要介绍了mysql 使用profiling和explain查询语句性能解析,需要的朋友可以参考下
    2024-02-02
  • mysql如何获取时间整点

    mysql如何获取时间整点

    这篇文章主要介绍了mysql如何获取时间整点问题,具有很好的的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • MySQL派生表联表查询实战过程

    MySQL派生表联表查询实战过程

    派生表是查询结果组成的虚拟表,派生表是在外部查询的FROM子句中定义的,不需要手动创建,下面这篇文章主要给大家介绍了关于MySQL派生表联表查询的相关资料,需要的朋友可以参考下
    2022-03-03
  • 在MySQL concat里面使用多个单引号,三引号的问题

    在MySQL concat里面使用多个单引号,三引号的问题

    今天小编就为大家分享一篇在MySQL concat里面使用多个单引号,三引号的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • InnoDB存储引擎中的表空间详解

    InnoDB存储引擎中的表空间详解

    这篇文章主要介绍了InnoDB存储引擎中的表空间详解,表空间内部,所有页按照区extent为物理单元进行划分和管理,extent由64个物理连续的页组成,表空间可以理解为由一个个物理相邻的extent组成,需要的朋友可以参考下
    2023-09-09

最新评论