2013-04-01 3 views
0

Я пытаюсь создать таблицу из существующей таблицы. Перенесены ли первичные ключи из существующей таблицы в новую таблицу?Первичные ключи в MySQL

создать таблицу В качестве выбора column1, Столбец2, Столбец3 из A.

В таблице А, первичные ключи столбец1 и столбец2.

ответ

0

CREATE TABLE ... SELECT не создает автоматически для вас никаких указателей. Это делается намеренно, чтобы сделать заявление максимально гибким. Если вы хотите иметь индексы в созданной таблице, необходимо указать их перед SELECT высказыванием:

mysql> CREATE TABLE bar (UNIQUE (n)) SELECT n FROM foo; 

Documentation

+0

Так уточнить, утверждение UNIQUE (п) создает первичный ключ для таблицы бар , где n - первичный ключ в foo? – Q17

+0

@ Q17 Правильно, но я думаю, что вы ищете 'CREATE TABLE test (PRIMARY KEY (n)) SELECT 1 AS n' – Kermit

+0

ладно спасибо! – Q17