「MySQL - テーブル」の版間の差分

ナビゲーションに移動 検索に移動
77行目: 77行目:
<br>
<br>
==== 一時テーブルの作成 ====
==== 一時テーブルの作成 ====
MySQLでは、一時テーブルは現在のセッション内でのみ表示され、セッションがクローズされると自動的に削除される。<br>
つまり、複数の異なるセッションが同じ一時テーブル名を使用することができ、互いに、同じ名前の既存の一時テーブル以外のテーブルと競合することはない。<br>
(既存のテーブルは、一時テーブルが削除されるまで非表示になる)<br>
<br>
InnoDBでは、圧縮一時テーブルはサポートされていない。<br>
<code>innodb_strict_mode</code>オプションが有効(デフォルト)な場合、<br>
<code>ROW_FORMAT=COMPRESSED</code>、または、<code>KEY_BLOCK_SIZE</code>が指定されている場合、<code>CREATE TEMPORARY TABLE</code>文はエラーとなる。<br>
<code>innodb_strict_mode</code>オプションが無効な場合は、警告が出力されて、圧縮されていない行形式を使用して一時テーブルが作成される。<br>
<br>
<code>innodb_file_per-table</code>オプションは、InnoDB一時テーブルの作成には影響しない。<br>
  <syntaxhighlight lang="mysql">
  <syntaxhighlight lang="mysql">
  CREATE TEMPORARY TABLE <テーブル名> (
  CREATE TEMPORARY TABLE <テーブル名> (

案内メニュー