You are better off running it this way:

create table t1 (x int);
create table t2 (x int);
create table t3 (x int);

create table t_merge (x int) engine=merge union=(t1,t2,t3);

drop table t1;
drop table t_merge;

create table t_merge (x int) engine=merge union=(t2,t3);

-----Original Message-----
From: Jim Lyons [mailto:[EMAIL PROTECTED]
Sent: Tuesday, August 26, 2008 4:41 PM
To: mysql
Subject: alter merge table doesn't work as documented (?)

I have a merge table and dropped one of the tables that was in the union.  I
then tried to alter the merge table to use only the remaining tables.

Here is some simple test code representing what I was doing.

########################
create table t1 (x int);
create table t2 (x int);
create table t3 (x int);

create table t_merge (x int) engine=merge union=(t1,t2,t3);

drop table t1;

alter table t_merge union=(t2, t3);
##########################

As I read the doc, this ought to work, leaving me with a merge table with
only 2 tables in the union.  The output I got was (the error message is at
the end):

--------------
create table t1 (x int)
--------------

--------------
create table t2 (x int)
--------------

--------------
create table t3 (x int)
--------------

--------------
create table t_merge (x int) engine=merge union=(t1,t2,t3)
--------------

--------------
drop table t1
--------------

--------------
alter table t_merge union=(t2, t3)
--------------

ERROR 1146 (42S02) at line 16: Table 'jlyons.t1' doesn't exist

Is this a bug or expected behavior?

Thanks,
Jim

--
Jim Lyons
Web developer / Database administrator
http://www.weblyons.com

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to