12,982
回編集
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 <テーブル名> ( |