MySQL 错误:准备好的语句协议尚不支持此命令
Posted
技术标签:
【中文标题】MySQL 错误:准备好的语句协议尚不支持此命令【英文标题】:MySQL Error: This command is not supported in the prepared statement protocol yet 【发布时间】:2012-09-16 04:15:14 【问题描述】:当我在 mysql 查询的开头和结尾使用 START TRANSACTION
和 COMMIT
时出现以下错误。
SQLSTATE[HY000]: General error: 2030 This command is not supported in the prepared statement protocol yet
SQL: START TRANSACTION
Bindings: array (
)
在 Larvel,我做到了:
DB::query('START TRANSACTION');
我正在使用 php 框架 Laravel,它使用 PDO 来访问 MySQL。我该怎么办?
【问题讨论】:
需要 PHP 和 MySQL 的版本号 我运行的是旧版本的mysql,谢谢!升级中.. 请将问题标记为已解决并使用解决方案编辑您的帖子! @mblaettermann 您没有将帖子标记为已解决。您选择最佳答案。在这种情况下,没有提供解决方案的答案,因此 OP 应该提供一个 - 不要编辑帖子 我选择的下面的帖子解决了这个问题,同时升级了 MySQL。为什么投反对票? :( 【参考方案1】:Laravel 已经支持事务查询。
DB::transaction(function ()
// query goes here.
DB::table('foo')->insert(array('foo' => 'bar'));
);
【讨论】:
请同时回答问题。以上是关于MySQL 错误:准备好的语句协议尚不支持此命令的主要内容,如果未能解决你的问题,请参考以下文章
MySQL - 此版本的 MySQL 尚不支持 'LIMIT & IN/ALL/ANY/SOME 子查询
编译语句时出错:FAILED:SemanticException [错误 10128]:第 4:7 行尚不支持 UDAF 位置