問題タブ [database-integrity]

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 投票する
0 に答える
67 参照

mysql - SQL: データベースへの安全なアクセスと変更を同時に行う方法を理解しようとしている

だから、私は現在MySQLで作業していますが、一般的な概念を理解しようとしているので、SQLの答えはおそらくうまくいくでしょう。

そのため、並行環境ではスレッド セーフが明らかに重要です。私は主に Java でプログラミングを行っており、スレッドの競合を避けるために変更可能な状態を保護するコードを書くことには常に細心の注意を払っています。

ただし、SQL では、同じレベルの安全性を実現する方法について非常に混乱しています。ですから、わからないことから始めて、混乱していることに進み、そこから理解していきます。

まず、私が知っているのはトランザクションです。自動コミットを無効にし、セーブポイント、ロールバックなどを使用します。私が理解しているように、トランザクションはコミットの時点でアトミックです。

しかし、明示的なロック ステートメントや同時実行モデル (楽観的、悲観的) への言及も見てきました。また、すべてにトランザクションを使用して、それが安全であると仮定したくもありません。全体を理解しない限り、コードを書きません。何かを偶然に任せたくありません。

さらに、トリガー、プロシージャーなどについてはどうでしょうか。トランザクションでそれらを使用するにはどうすればよいですか? そこで原子性を確保するにはどうすればよいですか?

これは少し複雑すぎる気がしますが、複数のスレッドとユーザーがデータベースを安全に変更できるようにする方法について、包括的で明確な説明を探しています。私はそれよりもSQLをよく理解しているので、完全ではありません.ELI5ですが、プロセスを本当に完全に説明しているもの.

ありがとう。私の検索では、このサイトでこの質問に適切に一致するものは見つかりませんでしたが、重複している場合はお詫びし、この質問がロックされる前に適切な回答へのリンクを提供していただくようお願いします.

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

python - Python2.7のSqlAlchemyによってデータベーステーブルに一意の値が存在することを確認する良い方法は何ですか?

session.mergeSqlAlchemy で使用して、 を使用してテーブルにデータを挿入しますUniqueConstraint。これは、いくつかの列に共通です。たとえば、私の ORM クラスには次のものがあります。

挿入するデータがこの一意の制約に違反するかどうかを確認するためにfilterorfilter_byを使用する必要がありますか、それとも構造によってキャッチする適切な方法ですか?_andIntegrityErrortry - except

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

mysql - SQL 整合性制約違反: 1062 重複エントリ

Magento ストアの製品を会計ソフトウェアの外部で更新すると、ログに次のエラーが表示されます。

これを修正するにはどうすればよいですか?