Справочное руководство по MySQL версии 4.0.11-gamma
6.1.6 ``Придирчив'' ли MySQL к зарезервированным словам?
6.1.6 ``Придирчив'' ли MySQL к зарезервированным словам?
Это общая проблема, возникающая при попытке создать таблицу с именами
столбцов, использующих принятые в MySQL названия типов данных или функций,
такие как TIMESTAMP или GROUP. Иногда это возможно (например, ABS является
разрешенным именем для столбца), но не допускается пробел между именем
функции и сразу же следующей за ним скобкой `(' при использовании имен
функций, совпадающих с именами столбцов.
Следующие слова являются зарезервированными в MySQL. Большинство из них не
допускаются в ANSI SQL92 как имена столбцов и/или таблиц (например
GROUP). Некоторые зарезервированы для нужд MySQL и используются (в
настоящее время) синтаксическим анализатором yacc:
Таблица 1
Слово
Таблица 1
Слово
Слово
Слово
Слово
Слово
ADD
ALL
ALTER
ANALYZE
AND
AS
ASC
AUTO_INCREMENT
BDB
BERKELEYDB
BETWEEN
BIGINT
BINARY
BLOB
BOTH
BY
CASCADE
CASE
CHANGE
CHAR
CHARACTER
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
DOUBLE
DROP
ELSE
ENCLOSED
ESCAPED
EXISTS
EXPLAIN
FIELDS
FLOAT
FOR
FOREIGN
FROM
FULLTEXT
FUNCTION
GRANT
GROUP
HAVING
HIGH_PRIORITY
HOUR_MINUTE
HOUR_SECOND
IF
IGNORE
IN
INDEX
INFILE
INNER
INNODB
INSERT
INSERT_ID
INT
INTEGER
INTERVAL
INTO
IS
JOIN
KEY
KEYS
KILL
LAST_INSERT_ID
LEADING
LEFT
LIKE
LIMIT
LINES
LOAD
LOCK
LONG
LONGBLOB
LONGTEXT
LOW_PRIORITY
MASTER_SERVER_ID
MATCH
MEDIUMBLOB
MEDIUMINT
MEDIUMTEXT
MIDDLEINT
MINUTE_SECOND
MRG_MYISAM
NATURAL
NOT
NULL
NUMERIC
ON
OPTIMIZE
OPTION
OPTIONALLY
OR
ORDER
OUTER
OUTFILE
PARTIAL
PRECISION
PRIMARY
PRIVILEGES
PROCEDURE
PURGE
READ
REAL
REFERENCES
REGEXP
RENAME
REPLACE
REQUIRE
RESTRICT
RETURNS
REVOKE
RIGHT
RLIKE
SELECT
SET
SHOW
SMALLINT
SONAME
SQL_AUTO_IS_NULL
SQL_BIG_RESULT
SQL_BIG_SELECTS
SQL_BIG_TABLES
SQL_BUFFER_RESULT
SQL_CALC_FOUND_ROWS
SQL_LOG_BIN
SQL_LOG_OFF
SQL_LOG_UPDATE
SQL_LOW_PRIORITY_UPDATES
SQL_MAX_JOIN_SIZE
SQL_QUOTE_SHOW_CREATE
SQL_SAFE_UPDATES
SQL_SELECT_LIMIT
SQL_SLAVE_SKIP_COUNTER
SQL_SMALL_RESULT
SQL_WARNINGS
SSL
STARTING
STRAIGHT_JOIN
STRIPED
TABLE
TABLES
TERMINATED
THEN
TINYBLOB
TINYINT
TINYTEXT
TO
TRAILING
UNION
UNIQUE
UNLOCK
UNSIGNED
UPDATE
USAGE
USE
USER_RESOURCES
USING
VALUES
VARBINARY
VARCHAR
VARYING
WHEN
WHERE
WITH
WRITE
YEAR_MONTH
ZEROFILL
Следующие символы (из приведенной выше таблицы таблицы) не разрешены в
ANSI SQL, но допускаются в MySQL как имена столбцов/таблиц. Это
объясняется тем, что некоторые из этих имен являются словами естественного
языка и уже использованы многими потребителями.