为什么mysql事务执行不了?

超级大笨狼 2012-04-13 11:44:22
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

---------------------------------------------------------------
...全文
138 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
jackfans 2012-04-13
  • 打赏
  • 举报
回复
php 的 mysql 函数,除了定义存储过程外,一次只能执行一条 sql 指令
xuzuning 2012-04-13
  • 打赏
  • 举报
回复
你的 $sql 要分作 4 句执行

php 的 mysql 函数,除了定义存储过程外,一次只能执行一条 sql 指令

说的不严密,其实定义存储过程也只是一条指令

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧