Oracle 5.0 Reference Manual page 1324

Table of Contents

Advertisement

• If
detects a unique key violation, it will change only the corresponding row in the
REPLACE
underlying table it is writing to; that is, the first or last table, as determined by the
option.
Similar considerations apply for
• You should not use
ANALYZE
without a
TABLE,
DELETE
into an open
MERGE
unexpected results. To work around this problem, ensure that no
issuing a
FLUSH TABLES
The unexpected results include the possibility that the operation on the
corruption. If this occurs after one of the named operations on the underlying
corruption message is spurious. To deal with this, issue a
the
tables.
MyISAM
on a table that is in use by a
DROP TABLE
storage engine's table mapping is hidden from the upper layer of MySQL. Windows does not
MERGE
permit open files to be deleted, so you first must flush all
drop the
table before dropping the table.
MERGE
• As of MySQL 5.0.36, the definition of the
tables are accessed (for example, as part of a
that the definitions of the tables and the parent
order, types, sizes and associated indexes. If there is a difference between the tables, an error is
returned and the statement fails. Because these checks take place when the tables are opened, any
changes to the definition of a single table, including column changes, column ordering, and engine
alterations will cause the statement to fail.
Prior to MySQL 5.0.36, table checks are applied as follows:
• When you create or alter
existing
tables and have identical structures. When the
MyISAM
checks that the row length for all mapped tables is equal, but this is not foolproof. If you create a
table from dissimilar
MERGE
• Similarly, if you create a
alter it to be a
non-MyISAM
to use it.
• Because the underlying
create the tables in any order, as long as you do not use the
tables are in place. Also, if you can ensure that a
period, you can perform maintenance operations on the underlying tables, such as backing up or
restoring them, altering them, or dropping and recreating them. It is not necessary to redefine the
table temporarily to exclude the underlying tables while you are operating on them.
MERGE
• The order of indexes in the
to add a
ALTER TABLE
to add a nonunique index on the
was already a nonunique index in the underlying table. (This happens because
puts
indexes before nonunique indexes to facilitate rapid detection of duplicate keys.)
UNIQUE
Consequently, queries on tables with such indexes may return unexpected results.
• If you encounter an error message similar to
'tbl_name.MRG' (errno:
use the
storage engine. Confirm that all of these tables are MyISAM.
MyISAM
Table Problems
MERGE
INSERT ... ON DUPLICATE KEY
TABLE,
REPAIR
clause, or
WHERE
table. If you do so, the
statement prior to performing any of the named operations.
MyISAM
table, there is no check to ensure that the underlying tables are
MERGE
tables, you are very likely to run into strange problems.
MyISAM
table from
MERGE
table, no error for the
tables need not exist when the
MyISAM
table and its underlying tables should be the same. If you use
MERGE
index to a table used in a
UNIQUE
table, the index ordering is different for the tables if there
MERGE
2), it generally indicates that some of the underlying tables do not
1304
TABLE,
OPTIMIZE
on any of the tables that are mapped
TRUNCATE TABLE
table may still refer to the original table and yield
MERGE
MERGE
FLUSH TABLES
table does not work on Windows because the
MERGE
tables (with
MERGE
tables and the
MERGE
or
SELECT
INSERT
table definition match by comparing column
MERGE
non-MyISAM
tables, or if you drop an underlying table or
table occurs until later when you attempt
MERGE
MERGE
table will not be used during a given
MERGE
MERGE
ERROR 1017 (HY000): Can't find file:
INSERT_METHOD
UPDATE.
TABLE,
ALTER
TABLE,
tables remain open by
table will report table
MERGE
tables, the
MyISAM
statement after modifying
TABLES) or
FLUSH
table are checked when the
statement). The checks ensure
table is used, MySQL
MERGE
table is created, you can
MERGE
table until all of its underlying
table, and then use
ALTER TABLE
ALTER TABLE
DROP

Advertisement

Table of Contents
loading

This manual is also suitable for:

Mysql 5.0

Table of Contents