問題タブ [savepoints]
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.
mysql - Django + MySQL - 管理サイト - ユーザーの追加 - OperationalError - SAVEPOINT が存在しません
カスタム ユーザー モデルと動作を作成しようとしていますが、Django Admin を介して新しいユーザーを追加するときに、デフォルトの Django インストールでも問題があることに気付きました。
この問題は、他の Django バージョンでも発生します ( Django 1.8で試し、最新の Django 1.11.3で試しました)。驚くべきことに、SQLite または PostgreSQL データベースを使用している場合、この問題は発生しません。また、プログラムを使用してユーザーを追加することもできます$./manage.py createuser
。admin
以前に作成したスーパーユーザーなどの既存のユーザーをターミナル経由で編集することもできます。グループの CRUD メカニズムは意図したとおりに機能するため、Add User
ビューのみが影響を受けます。
障害の可能性のあるポイントには、Django コア(任意のバージョン)、MySQL バイナリ(XAMPP for Mac にバンドルされており、さまざまなバージョンも試しました)、またはMySQL-Pythonコネクタ (バージョン 1.2.5) が含まれます。Django 1.10と MySQLを使用した同様の問題がここにあります。
複製する手順:
最新の Django バージョンをインストールします。
$ pip install django
Python-MySQL ドライバーをインストールします。
$ pip install MySQL-python
新しいプロジェクトを作成します。
$ django-admin.py startproject sandbox
MySQL で新しいデータベースを作成し、db config を設定します。
settings.py
Django アプリのモデルを移行します。
$ ./manage.py migrate
admin
スーパーユーザー を作成します。$ ./manage.py createsuperuser
Django のバンドル サーバーを実行します。
$ ./manage.py runserver
に移動し
http://127.0.0.1:8000/admin/login
、スーパーユーザー資格情報でログインしadmin
ます。ユーザーの追加ボタンをクリックしてみてください。スクリーンショットに添付されたエラーがトリガーされます。
サンプル データベース クエリ ログ:
SAVEPOINT RELEASE の後に SAVEPOINT ROLLBACK が実行され、SAVEPOINT が失われたようです。MySQL の SavePoint docsに基づくと、自然な順序は ROLLBACK から RELEASE のようです。
トレースバック メッセージは次のとおりです。settings.py
MySQL サーバーに接続するためのデータベース構成/資格情報を除いて、Django のデフォルトに他の変更はありません。
sql - COMMIT 、 ROLLBACK db2 エラー
私は以下のメッセージを受け取りました:
セーブポイントがすでに存在し、ネストされたセーブポイントがサポートされていないため、セーブポイントを設定できません。
私はそのクエリをやっています:
どうすればそれを取り除くことができますか? そのエラーは、SavePoint に関連していますよね?
amazon-redshift - Redshift で SQL Workbench/J でセーブポイントを使用するにはどうすればよいですか?
redshift sql workbench で以下を再作成することは可能ですか?