Базы данных. Пономарев А.А. - 85 стр.

UptoLike

Составители: 

| 1 |
+---+
mysql> CREATE TABLE bar (m INT) SELECT n FROM foo;
Query OK, 1 row affected (0.02 sec)
Records: 1 Duplicates: 0 Warnings: 0
mysql> SELECT * FROM bar;
+------+---+
| m | n |
+------+---+
| NULL | 1 |
+------+---+
1 row in set (0.00 sec)
Каждая строка в таблице foo вносится в таблицу bar со своим
значением из foo, при этом в новые столбцы в таблице bar записываются
величины, заданные по умолчанию. Команда CREATE TABLE ... SELECT
не создает автоматически каких-либо индексов. Это сделано преднамеренно,
чтобы команда была настолько гибкой, насколько возможно. Чтобы иметь
индексы в созданной таблице, необходимо указать их перед данной командой
SELECT:
mysql> CREATE TABLE bar (UNIQUE (n)) SELECT n FROM foo;
Если возникает ошибка при копировании данных в таблицу, то они
будут автоматически удалены. Чтобы обеспечить возможность использовать
для восстановления таблиц журнал обновлений/двоичный журнал, в MySQL
во время выполнения команды CREATE TABLE ... SELECT не
разрешены параллельные вставки.
85