## SQLWays - 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:

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

[Main] [Table of Contents]
Copyright © 1999-2003 Ispirer Systems. All Rights Reserved.
SQLWays™ www.ispirer.com.