A5:SQL Mk-2

開発のこと、日々のこと

DELETE文について

ホーム フォーラム A5:SQL Mk-2掲示板 DELETE文について

  • このトピックには3件の返信、1人の参加者があり、最後に324により1年、 10ヶ月前に更新されました。
4件の投稿を表示中 - 1 - 4件目 (全4件中)
  • 投稿者
    投稿
  • #10357 返信
    324
    ゲスト

    質問させてください。
    トランザクション等を行わず、DELETE文を実行し、実行途中で「SQLを中断」ボタンをクリックしたらSQLを中断するまでのデータは削除されますか?それともロールバックされますか?
    削除対象が数十万件と多く、DELETEの時間がかかっている際に中断をした時の場合です。
    ちなみに教えていただけたらでいいのですが、、、もし削除されるとしたら、どのようなロジックで削除されますか?(古い順で削除?)

    #10358 返信
    324
    ゲスト

    捕捉
    DELETE FROM ‘テーブル名’とした場合です。

    #10364 返信
    松原正和
    キーマスター

    324 さんこんにちは。
     
    この場合は、実行するDB製品によるのですが、一般的には「全て削除される」か「すべて削除されない」かのどちらかとなります。
     
    A5:SQL Mk-2は入力されたSQL文をサーバーに送っているだけなので、具体的な削除の内部処理はすべてサーバーによります。
     
    DB製品は一般的には(明示的にトランザクションを開始していなくても)トランザクションのアトミック性をもっており、中途半端な状態にはならないはずです。
    (MySQL の MyISAM ストレージエンジンのようにトランザクションをサポートしないケースもなくはないかもしれないですが、この場合は単に中断できない(すべて削除してしまう)のではないかなあと思います。(単なる予想です))

    #10380 返信
    324
    ゲスト

    ご回答ありがとうございます!
    おっしゃる通りでした。

4件の投稿を表示中 - 1 - 4件目 (全4件中)
返信先: DELETE文について
あなたの情報:




コメントは受け付けていません。