Справочное руководство по MySQL версии 4.1.1-alpha

       

Глава 6.1.7 ``Придирчив'' ли MySQL к зарезервированным словам?


Это общая проблема, возникающая при попытке создать таблицу с именами столбцов, использующих принятые в MySQL названия типов данных или функций, такие как TIMESTAMP или GROUP. Иногда это возможно (например, ABS является разрешенным именем для столбца), но не допускается пробел между именем функции и сразу же следующей за ним скобкой `(' при использовании имен функций, совпадающих с именами столбцов.

Следующие слова являются зарезервированными в MySQL. Большинство из них не допускаются в ANSI SQL92 как имена столбцов и/или таблиц (например GROUP). Некоторые зарезервированы для нужд MySQL и используются (в настоящее время) синтаксическим анализатором yacc:

Word Word Word ADD ALL ALTER ANALYZE AND AS ASC ASENSITIVE AUTO_INCREMENT BDB

BEFORE BERKELEYDB BETWEEN BIGINT BINARY BLOB BOTH BTREE BY CALL CASCADE CASE CHANGE CHAR CHARACTER CHECK COLLATE COLUMN COLUMNS CONNECTION CONSTRAINT CREATE CROSS CURRENT_DATE CURRENT_TIME CURRENT_TIMESTAMP CURSOR DATABASE DATABASES DAY_HOUR DAY_MINUTE DAY_SECOND DEC DECIMAL DECLARE DEFAULT DELAYED DELETE DESC DESCRIBE DISTINCT DISTINCTROW DIV DOUBLE DROP ELSE ELSEIF ENCLOSED ERRORS ESCAPED EXISTS EXPLAIN FALSE FIELDS FLOAT FOR FORCE FOREIGN FROM FULLTEXT GRANT GROUP HASH HAVING HIGH_PRIORITY HOUR_MINUTE HOUR_SECOND IF IGNORE IN INDEX INFILE INNER INNODB INOUT INSENSITIVE INSERT INT INTEGER INTERVAL INTO IS ITERATE JOIN KEY KEYS KILL LEADING LEAVE LEFT LIKE LIMIT LINES LOAD LOCALTIME LOCALTIMESTAMP LOCK LONG LONGBLOB LONGTEXT LOOP 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 OUT OUTER OUTFILE PRECISION PRIMARY PRIVILEGES PROCEDURE PURGE READ REAL REFERENCES REGEXP RENAME REPEAT REPLACE REQUIRE RESTRICT RETURN
RETURNS
REVOKE
RIGHT RLIKE
RTREE
SELECT SENSITIVE
SEPARATOR
SET SHOW
SMALLINT
SOME SONAME
SPATIAL
SPECIFIC 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
UNTIL
UPDATE USAGE
USE
USER_RESOURCES USING
VALUES
VARBINARY VARCHAR
VARCHARACTER
VARYING WARNINGS
WHEN
WHERE WHILE
WITH
WRITE XOR
YEAR_MONTH
ZEROFILL


Следующие символы ( из приведенной выше таблицы таблицы) не разрешены в ANSI SQL, но допускаются в MySQL как имена столбцов/таблиц. Это объясняется тем, что некоторые из этих имен являются словами естественного языка и уже использованы многими потребителями.



  • ACTION


  • BIT


  • DATE


  • ENUM


  • NO


  • TEXT


  • TIME


  • TIMESTAMP



  • Содержание раздела