タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

MySQLとSQLに関するtettekete37564のブックマーク (2)

  • SELECT ... FOR UPDATE同士でデッドロックさせる - かみぽわーる

    最近SELECT ... FOR UPDATEでデッドロックする話を何度かしたので。 前職のときにUPDATE同士がデッドロックしてたときに、SELECT ... FOR UPDATEで排他ロックを取ってからUPDATEしてデッドロックを防ぎますってPRをレビューしてたときのことで、複数レコードの排他ロックは一瞬ですべてのレコードのロックを取れるわけではなく、ロックを取る順番が揃っていないと簡単にデッドロックしますよという話です。 https://gist.github.com/kamipo/0bb4e37d58ba18a8cefb8aa02f778231 # frozen_string_literal: true require "mysql2" def client Mysql2::Client.new( host: "localhost", username: "root", dat

    SELECT ... FOR UPDATE同士でデッドロックさせる - かみぽわーる
    tettekete37564
    tettekete37564 2020/12/16
    そんなこと起きるんだ。
  • テーブルの作成

    MySQL で実際にデータを格納するのはテーブルです。どのようなデータをどれだけ格納するのかを定義してテーブルを作成し、そのテーブルに対してデータを格納します。テーブルには様々な制約を設定することができます。例えばデータとして NULL を格納することができないようにしたり、既に格納済みのデータと同じ値は格納できないように制約を設定できます。テーブルの作成や作成済みのテーブルの削除の方法、およびテーブルに設定できる制約の種類と記述方法、などについて解説します。

  • 1