【週刊ドットインストール】 考える力を養うための新クラス『データで学ぶアルゴリズム』を256timesでリリース!
START TRANSACTION と COMMITで囲うと postsテーブルで他ユーザが(50と)書き換えられないようになるとのことですが 複数のテーブルの場合の挙動はどうなるのでしょうか。 例えば
START TRANSACTION
COMMIT
posts
START TRANSACTION; UPDATE posts SET .... UPDATE comments SET ... COMMIT;
とすると、postsとcommentsの両テーブルがCOMMITまたはROLLBACKまで 他ユーザから書き換えられなくなるのでしょうか。 それともUPDATE文ごとに UPDATE posts SET ....の動作時には、commentテーブルは書き換え可能で UPDATE comments SET ...の動作時に、commentテーブル書き換え不可で postsは書き換え可となる(あるいは不可のまま)のでしょうか。
comments
ROLLBACK
UPDATE
UPDATE posts SET ....
comment
UPDATE comments SET ...
ドットインストールは、3分動画でマスターできるプログラミング学習サービスです。
3分で気軽に学習でき、スマートフォンからも視聴可能です。ホームページやWebサービスの制作を通して、実践的にプログラミングを学べます。
他にも、ゲーム制作やデータ分析・機械学習・AIに使われる言語まで幅広くカバー。学びたい分野のレッスンがきっと見つかります。
この回答を見るにはプレミアムプランへの登録が必要です
START TRANSACTIONとCOMMITで囲うとpostsテーブルで他ユーザが(50と)書き換えられないようになるとのことですが複数のテーブルの場合の挙動はどうなるのでしょうか。
例えば
とすると、
postsとcommentsの両テーブルがCOMMITまたはROLLBACKまで他ユーザから書き換えられなくなるのでしょうか。
それとも
UPDATE文ごとにUPDATE posts SET ....の動作時には、commentテーブルは書き換え可能でUPDATE comments SET ...の動作時に、commentテーブル書き換え不可でpostsは書き換え可となる(あるいは不可のまま)のでしょうか。