为什么mysql事务执行不了?解决办法
程序员文章站
2023-12-26 13:15:27
...
为什么mysql事务执行不了?
php代码片断:
/*-----数据库连接参数--*/
$host="localhost";
$user="root";
$pwd="xxx";
$database="luntan";
/*-----数据库连接-*/
$db=mysql_connect($host,$user,$pwd);
$sql="START TRANSACTION;
SELECT @A:=MAX(iTopicId) FROM lun_topic;
INSERT INTO lun_topic VALUES(@A+1,'主题','内容','作者',NOW(),1);
COMMIT;";
$result=mysql_db_query($database,$sql);//该句执行不了,也不报错
表lun_topic
iTopicId,
vTitle,
txtMessage,
vPostId,
dPostDateTime,
iAreaId
---------------------------
注意在MySql中,只有INNODB和BDB类型的表支持事务处理,而缺省的MYISAM类型不支持,可以在创建表的时候指定表类型
CREATE TABLE t (i INT) TYPE = INNODB;
也可以转换已存在表的表类型
ALTER TABLE t TYPE=INNODB
---------------------------
------解决方案--------------------
你的 $sql 要分作 4 句执行
php 的 mysql 函数,除了定义存储过程外,一次只能执行一条 sql 指令
说的不严密,其实定义存储过程也只是一条指令
------解决方案--------------------
php 的 mysql 函数,除了定义存储过程外,一次只能执行一条 sql 指令
php代码片断:
/*-----数据库连接参数--*/
$host="localhost";
$user="root";
$pwd="xxx";
$database="luntan";
/*-----数据库连接-*/
$db=mysql_connect($host,$user,$pwd);
$sql="START TRANSACTION;
SELECT @A:=MAX(iTopicId) FROM lun_topic;
INSERT INTO lun_topic VALUES(@A+1,'主题','内容','作者',NOW(),1);
COMMIT;";
$result=mysql_db_query($database,$sql);//该句执行不了,也不报错
表lun_topic
iTopicId,
vTitle,
txtMessage,
vPostId,
dPostDateTime,
iAreaId
---------------------------
注意在MySql中,只有INNODB和BDB类型的表支持事务处理,而缺省的MYISAM类型不支持,可以在创建表的时候指定表类型
CREATE TABLE t (i INT) TYPE = INNODB;
也可以转换已存在表的表类型
ALTER TABLE t TYPE=INNODB
---------------------------
------解决方案--------------------
你的 $sql 要分作 4 句执行
php 的 mysql 函数,除了定义存储过程外,一次只能执行一条 sql 指令
说的不严密,其实定义存储过程也只是一条指令
------解决方案--------------------
php 的 mysql 函数,除了定义存储过程外,一次只能执行一条 sql 指令
相关文章
相关视频
推荐阅读
-
为什么mysql事务执行不了?解决办法
-
为什么 MySQL 回滚事务也会导致 ibd 文件增大?_MySQL
-
PHP中执行MYSQL事务解决数据写入不完整等情况
-
PHP中执行MYSQL事务解决数据写入不完整等情况
-
MySQL 笔记整理(19) --为什么我只查一行的语句,也执行这么慢?
-
为什么用IE上不了网?IE浏览器打不开网页的原因及解决办法介绍
-
MySQL执行事务的语法与流程详解
-
做mysql主从同步从库上执行show slave status\G命令时出现问题及解决办法
-
为什么西瓜影音安装不了?西瓜影音播放器无法安装的解决办法
-
MySQL 笔记整理(3) --事务隔离,为什么你改了我还看不见?