2013-03-18 1 views
1

Я не знаю, почему я получаю эту ошибку, я думаю, что сегодня утром я запускал этот запрос без ошибок, и это сработало. Я пытаюсь объединить два разных таблицы в одну таблицу, таблицы имеют одинаковые поля, но разные значения.Невозможно выполнить CREATE таблицу # 1113 - таблица должна содержать не менее 1 столбец

Я использую:

create table jos_properties_merged engine = MERGE UNION = 
(mergecasas.jos_properties_contacts,viftestdb.buu_properties_contacts); 

И я получаю

"#1113 - A table must have at least 1 column " 

вы знаете, что я делаю неправильно, пожалуйста?

ответ

2

согласно this link вам нужно указать те же самые столбцы существующие в вашей 2 таблицы:

CREATE TABLE t1 ( INT NOT NULL AUTO_INCREMENT PRIMARY KEY, сообщение CHAR (20)) ENGINE = MyISAM ;

CREATE TABLE t2 ( a INT NOT NULL AUTO_INCREMENT ПЕРВИЧНЫЙ КЛЮЧ, сообщение CHAR (20)) ENGINE = MyISAM;

INSERT INTO t1 (message) VALUES ('Testing'), ('table'), ('t1'); mysql> INSERT INTO t2 (сообщение) VALUES ('Testing'), ('table'), ('t2');

CREATE TABLE общих ( -> а INT NOT NULL AUTO_INCREMENT, -> сообщений СИМ (20), ИНДЕКС (а)) -> ДВИГАТЕЛЬ = MERGE СОЕДИНЕНИЯ = (t1, t2) INSERT_METHOD = ПОСЛЕДНИЙ;

+1

ну, я клянусь, что я выполнил этот запрос этим утром, и я создал объединенный стол, не специфицируя все столбцы ... там ДОЛЖЕН быть каким-то другим способом, действительно ... – ol30cean0

+0

это работает! create table students_merged as select * from db1.students_contacts; Вставить игнорировать в students_merged select * from db2.students_contacts; – ol30cean0

+0

ах, хорошо! Счастлив, что у вас есть решение, вот что важно – Sebas

 Смежные вопросы

  • Нет связанных вопросов^_^