問題タブ [mysql-error-1205]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
349 参照

python - Pythonとmysqlコマンドラインの両方でmysql挿入エラー

いくつかの項目を mysql db に挿入したいと考えています。

Pythonスクリプトでそれを行ったとき、次のようになりました。

エラー 1062: キー 'product_code' のエントリ '222' が重複しています。product_code は一意のフィールドです。

私がmysqlコマンドラインでそれをしたとき、私は得ました:

エラー 1205(HY000):ロック待機タイムアウトを超えました。トランザクションを再開してみてください。

Mysql は win32 にインストールされています。テーブルのエンジンは innodb です。

コード:

0 投票する
0 に答える
771 参照

mysql-error-1205 - MySQL エラー コード 1205: 同じ ID を持つ複数の行を削除しようとすると、ロック待機タイムアウトを超えました

テーブルから同じ ID を持つ複数の行を削除しようとすると、「ロック待機タイムアウトがエラーを超えました...」というメッセージ (コード 1205) が表示されます。DELETE の代わりに SELECT を使用すると、クエリは正常に機能し、削除したい行が返されます。これは私のクエリです

同じ list_id に対して複数の行があるため、主キー/インデックスを使用できません。インターネットで解決策を見つけるのに何時間も費やしましたが、何の喜びもありませんでした。誰か助けてくれませんか!? ありがとう

0 投票する
1 に答える
4761 参照

mysql - 1205 エラー: テーブルは長時間ロックされたままです

自分のコンピューターのMysqlワークベンチで実行したクエリがあり、データベースはリモートコンピューターにあります。

しばらくすると、2013 エラー (クエリ中に MySQL サーバーへの接続が失われました) が発生しましたが、クエリの影響はありませんでした。後でいくつかの異なるクエリを試しましたが、常に次の結果が得られました。

これは、(接続が失われたときに) 実行したクエリがまだテーブルをロックしていることを意味しますか? もしそうなら、どうすればテーブルを解放できますか? 最初のクエリから 3 時間が経過しました。

show show processlist の出力で、2013 エラーが発生した最初のクエリは ID 1205 のものです。

0 投票する
1 に答える
4914 参照

mysql - Magento SQLSTATE [HY000]: 一般エラー: 1205 ロック待機タイムアウトを超えました。トランザクションを再開してみてください

最近、大規模な 32Gig データベースのコピーを作成して、開発環境に使用しました。アイテムを作成、削除、更新しようとすると、このエラーが発生します。

SQLSTATE[HY000]: General error: 1205 Lock wait timeout exceeded; try restarting transaction

コピーが正しく行われず、一部のテーブルがロックされているのではないかと考えています。

問題のデータベースはtest_dev2、私の開発環境で使用されているものです。プロセスを強制終了しようとしましたがtest_dev2、それでも同じエラーが発生しました。

ここに画像の説明を入力

MySQLサービスも再起動しましたが、それでも同じエラーが発生しました。

innodb_lock_wait_timeoutそれから私は120 に増加しました +--------------------------+-------+ | Variable_name | Value | +--------------------------+-------+ | innodb_lock_wait_timeout | 120 | +--------------------------+-------+

このコマンドを実行すると、次のようになりますSHOW OPEN TABLES WHERE In_use > 0; +-----------+------------------+--------+-------------+ | Database | Table | In_use | Name_locked | +-----------+------------------+--------+-------------+ | test_dev2 | core_url_rewrite | 1 | 0 | +-----------+------------------+--------+-------------+

1205 Lock wait timeout exceededこのエラーを修正する方法について何かアイデアはありますか?

0 投票する
2 に答える
624 参照

python - Pythonを使用して大きなテーブルから大量のレコードを効率的に削除する方法

(created_at 列によると) 10 日よりも「古い」レコードを削除する必要がある大きなテーブル (約 1,000 万行) があります。これを行うために実行するpythonスクリプトがあります。created_at は varchar(255) であり、次のような値を持ちます1594267202000

このスクリプトを実行すると、DELETE QUERY が実行されますが、次の理由で失敗します。

削除に失敗しました: 1205 (HY000): ロック待機タイムアウトを超えました。トランザクションを再開してみてください

innodb_lock_wait_timeoutが現在 50 秒に設定されていることはわかっていますが、この問題を解決するためにそれを増やすことができますが、タイムアウトには触れたくないので...基本的にチャンクで削除したいですか? 私のコードを例として使用して、ここでそれを行う方法を知っている人はいますか?