Справочное руководство по MySQL

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

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

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

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

    Слово Слово Слово
    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 как имена столбцов/таблиц. Это объясняется тем, что некоторые из этих имен являются словами естественного языка и уже использованы многими потребителями.

    • ACTION
    • BIT
    • DATE
    • ENUM
    • NO
    • TEXT
    • TIME
    • TIMESTAMP



Наш баннер
Вы можете установить наш баннер на своем сайте или блоге, скопировав этот код:
RSS новости