Ispirer SQLWays Database Migration Software
MySQL Reserved Words
There are reserved words in MySQL which cannot be used as identifiers (table or column names etc.) without being quoted with backticks (`). Quoting of identifiers was introduced in MySQL Version 3.23.6. You can also enclose identifiers with double quotation marks (") if you run MySQL in ANSI mode.
When migrating databases to MySQL, SQLWays automatically resolves conflicts with MySQL reserved words. SQLWays delimits identifiers which are reserved words in MySQL with single quotation marks.
The following words are reserved by MySQL:
TABLE 97. MySQL reserved words
ADD
|
ALL
|
ALTER
|
ANALYZE
|
AND
|
AS
|
ASC
|
AUTO_INCREMENT
|
BDB
|
BERKELEYDB
|
BETWEEN
|
BIGINT
|
BINARY
|
BLOB
|
BOTH
|
BTREE
|
BY
|
CASCADE
|
CASE
|
CHANGE
|
CHAR
|
CHARACTER
|
CHECK
|
COLLATE
|
COLUMN
|
COLUMNS
|
CONSTRAINT
|
CREATE
|
CROSS
|
CURRENT_DATE
|
CURRENT_TIME
|
CURRENT_TIMESTAMP
|
DATABASE
|
DATABASES
|
DAY_HOUR
|
DAY_MINUTE
|
DAY_SECOND
|
DEC
|
DECIMAL
|
DEFAULT
|
DELAYED
|
DELETE
|
DESC
|
DESCRIBE
|
DISTINCT
|
DISTINCTROW
|
DIV
|
DOUBLE
|
DROP
|
ELSE
|
ENCLOSED
|
ERRORS
|
ESCAPED
|
EXISTS
|
EXPLAIN
|
FALSE
|
FIELDS
|
FLOAT
|
FOR
|
FORCE
|
FOREIGN
|
FROM
|
FULLTEXT
|
FUNCTION
|
GEOMETRY
|
GRANT
|
GROUP
|
HASH
|
HAVING
|
HELP
|
HIGH_PRIORITY
|
HOUR_MINUTE
|
HOUR_SECOND
|
IF
|
IGNORE
|
IN
|
INDEX
|
INFILE
|
INNER
|
INNODB
|
INSERT
|
INT
|
INTEGER
|
INTERVAL
|
INTO
|
IS
|
JOIN
|
KEY
|
KEYS
|
KILL
|
LEADING
|
LEFT
|
LIKE
|
LIMIT
|
LINES
|
LOAD
|
LOCALTIME
|
LOCALTIMESTAMP
|
LOCK
|
LONG
|
LONGBLOB
|
LONGTEXT
|
LOW_PRIORITY
|
MASTER_SERVER_ID
|
MATCH
|
MEDIUMBLOB
|
MEDIUMINT
|
MEDIUMTEXT
|
MIDDLEINT
|
MINUTE_SECOND
|
MOD
|
MRG_MYISAM
|
NATURAL
|
NOT
|
NULL
|
NUMERIC
|
ON
|
OPTIMIZE
|
OPTION
|
OPTIONALLY
|
OR
|
ORDER
|
OUTER
|
OUTFILE
|
PRECISION
|
PRIMARY
|
PRIVILEGES
|
PROCEDURE
|
PURGE
|
READ
|
REAL
|
REFERENCES
|
REGEXP
|
RENAME
|
REPLACE
|
REQUIRE
|
RESTRICT
|
RETURNS
|
REVOKE
|
RIGHT
|
RLIKE
|
RTREE
|
SELECT
|
SET
|
SHOW
|
SMALLINT
|
SOME
|
SONAME
|
SPATIAL
|
SQL_BIG_RESULT
|
SQL_CALC_FOUND_ROWS
|
SQL_SMALL_RESULT
|
SSL
|
STARTING
|
STRAIGHT_JOIN
|
STRIPED
|
TABLE
|
TABLES
|
TERMINATED
|
THEN
|
TINYBLOB
|
TINYINT
|
TINYTEXT
|
TO
|
TRAILING
|
TRUE
|
TYPES
|
UNION
|
UNIQUE
|
UNLOCK
|
UNSIGNED
|
UPDATE
|
USAGE
|
USE
|
USER_RESOURCES
|
USING
|
VALUES
|
VARBINARY
|
VARCHAR
|
VARCHARACTER
|
VARYING
|
WARNINGS
|
WHEN
|
WHERE
|
WITH
|
WRITE
|
XOR
|
YEAR_MONTH
|
ZEROFILL
|
These are the words which are disallowed by ANSI SQL but allowed by MySQL as column or table names:
- ACTION
- BIT
- DATE
- ENUM
- NO
- TEXT
- TIME
- TIMESTAMP