このエントリーをはてなブックマークに追加


MySQLでPREPAREしたクエリーを削除する方法・DEALLOCATE

DEALLOCATEを使うとことにより、PREPAREで定義したクエリーを削除することができます。
以下に使用例を記します。

関連記事

動作確認環境

以下の環境で動作確認を行いました。

  • OS
    CentOS6 x86_64
  • MySQL
    MySQL 5.1.66

PREPAREで登録したクエリー名を削除する

登録されているクエリー定義を削除する構文は以下の通りです。

DEALLOCATE PREPARE クエリー名

または

DROP PREPARE クエリー名

実際に操作して実行した結果は以下の通りです。

  1. PREPAREでクエリーを定義
    mysql> prepare query_a from 'select version()';
    Query OK, 0 rows affected (0.00 sec)
    Statement prepared
  2. PREPAREで定義したクエリーを実行
    mysql> execute query_a;
    +-----------+
    | version() |
    +-----------+
    | 5.1.66    |
    +-----------+
    1 row in set (0.00 sec)
  3. DEALLOCATE PREPAREでクエリーを削除
    mysql> DEALLOCATE PREPARE query_a;
    Query OK, 0 rows affected (0.00 sec)
  4. 削除済みのため動作せず
    mysql> execute query_a;
    ERROR 1243 (HY000): Unknown prepared statement handler (query_a) given to EXECUTE

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-20 (金) 22:08:00