目次
我觉得我已经说的很清楚了,不好好看原文的、语文是计算机老师教的那些回复者,我也真的没法逐个回复了。 我当然知道 myisam 类型表不支持事务,我就是要用这一点实现事务中的表日志!请再仔细看题!!!
回复内容:
ホームページ バックエンド開発 PHPチュートリアル mysql5.6+ myisam 表无法在事务中处理,会报错。如何解决

mysql5.6+ myisam 表无法在事务中处理,会报错。如何解决

Jun 06, 2016 pm 08:41 PM
myisam mysql php

我觉得我已经说的很清楚了,不好好看原文的、语文是计算机老师教的那些回复者,我也真的没法逐个回复了。 我当然知道 myisam 类型表不支持事务,我就是要用这一点实现事务中的表日志!请再仔细看题!!!

mysql 5.6 以后,在事务过程中,无法再操作 myisam 类型的表。
如果操作会报以下错误:

<code>General error: 1785 When @@GLOBAL.ENFORCE_GTID_CONSISTENCY = 1, updates to non-transactional tables can only be done in either autocommitted statements or single-statement transactions, and never in the same statement as updates to transactional tables.
</code>
ログイン後にコピー
ログイン後にコピー

因为业务逻辑需要,现在必须在一个大事务中,保存一些原始数据。并且如果事务rollback,这些数据仍需保存下来。所以之前用 myisam 类型表都是可以实现的,现在果断的报错了。

存缓存最后commit后保存的方案我已经考虑过了... 要涉及的改动太多
只是想问问大家有没有什么更好的方案...

重新说明一下:我的意思就是之前借助于myisam不支持事务的特性,可以保存事务中的数据,且不用担心事务rollback后这部分数据也无法保存下来的问题,而新版本的mysql已经无法这样操作,会异常

回复内容:

我觉得我已经说的很清楚了,不好好看原文的、语文是计算机老师教的那些回复者,我也真的没法逐个回复了。 我当然知道 myisam 类型表不支持事务,我就是要用这一点实现事务中的表日志!请再仔细看题!!!

mysql 5.6 以后,在事务过程中,无法再操作 myisam 类型的表。
如果操作会报以下错误:

<code>General error: 1785 When @@GLOBAL.ENFORCE_GTID_CONSISTENCY = 1, updates to non-transactional tables can only be done in either autocommitted statements or single-statement transactions, and never in the same statement as updates to transactional tables.
</code>
ログイン後にコピー
ログイン後にコピー

因为业务逻辑需要,现在必须在一个大事务中,保存一些原始数据。并且如果事务rollback,这些数据仍需保存下来。所以之前用 myisam 类型表都是可以实现的,现在果断的报错了。

存缓存最后commit后保存的方案我已经考虑过了... 要涉及的改动太多
只是想问问大家有没有什么更好的方案...

重新说明一下:我的意思就是之前借助于myisam不支持事务的特性,可以保存事务中的数据,且不用担心事务rollback后这部分数据也无法保存下来的问题,而新版本的mysql已经无法这样操作,会异常

从报错信息看,mysql中的参数@@GLOBAL.ENFORCE_GTID_CONSISTENCY = 1 所以无法在事务中使用myisam,事务是mysql的事,跟php没有关系啊!

不知道是不是我才疏学浅 - -#
两位回答的咋都在讨论执行参数的事,可是myisam根本就不支持事物啊。

mysql只有innodb表才支持事务吧。

innodb才能支持事物操作,楼主的数据库比我还菜!!!

我之前升级mysql数据库从5.5升级到5.6的时候碰到过这样的报错 是因为关联数据库表使用了事务 但是有极个别关联表用的是myisam 把myiasm改成innnodb引擎就可以了

写事务功能起码要先了解下事务吧,innodb支持,myisam不支持。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHPの未来:適応と革新 PHPの未来:適応と革新 Apr 11, 2025 am 12:01 AM

PHPの将来は、新しいテクノロジーの傾向に適応し、革新的な機能を導入することで達成されます。1)クラウドコンピューティング、コンテナ化、マイクロサービスアーキテクチャに適応し、DockerとKubernetesをサポートします。 2)パフォーマンスとデータ処理の効率を改善するために、JITコンパイラと列挙タイプを導入します。 3)パフォーマンスを継続的に最適化し、ベストプラクティスを促進します。

phpmyadminを開く方法 phpmyadminを開く方法 Apr 10, 2025 pm 10:51 PM

次の手順でphpmyadminを開くことができます。1。ウェブサイトコントロールパネルにログインします。 2。phpmyadminアイコンを見つけてクリックします。 3。MySQL資格情報を入力します。 4.「ログイン」をクリックします。

PHP対Python:違いを理解します PHP対Python:違いを理解します Apr 11, 2025 am 12:15 AM

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHPは、シンプルな構文と高い実行効率を備えたWeb開発に適しています。 2。Pythonは、簡潔な構文とリッチライブラリを備えたデータサイエンスと機械学習に適しています。

MySQL:世界で最も人気のあるデータベースの紹介 MySQL:世界で最も人気のあるデータベースの紹介 Apr 12, 2025 am 12:18 AM

MySQLはオープンソースのリレーショナルデータベース管理システムであり、主にデータを迅速かつ確実に保存および取得するために使用されます。その実用的な原則には、クライアントリクエスト、クエリ解像度、クエリの実行、返品結果が含まれます。使用法の例には、テーブルの作成、データの挿入とクエリ、および参加操作などの高度な機能が含まれます。一般的なエラーには、SQL構文、データ型、およびアクセス許可、および最適化の提案には、インデックスの使用、最適化されたクエリ、およびテーブルの分割が含まれます。

なぜMySQLを使用するのですか?利点と利点 なぜMySQLを使用するのですか?利点と利点 Apr 12, 2025 am 12:17 AM

MySQLは、そのパフォーマンス、信頼性、使いやすさ、コミュニティサポートに選択されています。 1.MYSQLは、複数のデータ型と高度なクエリ操作をサポートし、効率的なデータストレージおよび検索機能を提供します。 2.クライアントサーバーアーキテクチャと複数のストレージエンジンを採用して、トランザクションとクエリの最適化をサポートします。 3.使いやすく、さまざまなオペレーティングシステムとプログラミング言語をサポートしています。 4.強力なコミュニティサポートを提供し、豊富なリソースとソリューションを提供します。

単一のスレッドレディスの使用方法 単一のスレッドレディスの使用方法 Apr 10, 2025 pm 07:12 PM

Redisは、単一のスレッドアーキテクチャを使用して、高性能、シンプルさ、一貫性を提供します。 I/Oマルチプレックス、イベントループ、ノンブロッキングI/O、共有メモリを使用して同時性を向上させますが、並行性の制限、単一の障害、および書き込み集約型のワークロードには適していません。

PHPの現在のステータス:Web開発動向を見てください PHPの現在のステータス:Web開発動向を見てください Apr 13, 2025 am 12:20 AM

PHPは、現代のWeb開発、特にコンテンツ管理とeコマースプラットフォームで依然として重要です。 1)PHPには、LaravelやSymfonyなどの豊富なエコシステムと強力なフレームワークサポートがあります。 2)パフォーマンスの最適化は、Opcacheとnginxを通じて達成できます。 3)PHP8.0は、パフォーマンスを改善するためにJITコンパイラを導入します。 4)クラウドネイティブアプリケーションは、DockerおよびKubernetesを介して展開され、柔軟性とスケーラビリティを向上させます。

PHP:それは死にかけていますか、それとも単に適応していますか? PHP:それは死にかけていますか、それとも単に適応していますか? Apr 11, 2025 am 12:13 AM

PHPは死にかけていませんが、常に適応して進化しています。 1)PHPは、1994年以来、新しいテクノロジーの傾向に適応するために複数のバージョンの反復を受けています。 2)現在、電子商取引、コンテンツ管理システム、その他の分野で広く使用されています。 3)PHP8は、パフォーマンスと近代化を改善するために、JITコンパイラおよびその他の機能を導入します。 4)Opcacheを使用してPSR-12標準に従って、パフォーマンスとコードの品質を最適化します。

See all articles