поиск:
Полезные ссылки

  • Форум по MySQL

  • Статьи по MySQL

  • Вопросы по MySQL

  • MySQL.com


  • Базы данных

  • MySQL

  • PostgreSQL


  • PHP конференция 2005
    Подробности!

    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 BEFORE
    BETWEEN BIGINT BINARY
    BLOB BOTH BY
    CALL CASCADE CASE
    CHANGE CHAR CHARACTER
    CHECK COLLATE COLUMN
    CONDITION CONNECTION CONSTRAINT
    CONTINUE CONVERT CREATE
    CROSS CURRENT_DATE CURRENT_TIME
    CURRENT_TIMESTAMP CURRENT_USER CURSOR
    DATABASE DATABASES DAY_HOUR
    DAY_MICROSECOND DAY_MINUTE DAY_SECOND
    DEC DECIMAL DECLARE
    DEFAULT DELAYED DELETE
    DESC DESCRIBE DETERMINISTIC
    DISTINCT DISTINCTROW DIV
    DOUBLE DROP DUAL
    EACH ELSE ELSEIF
    ENCLOSED ESCAPED EXISTS
    EXIT EXPLAIN FALSE
    FETCH FLOAT FOR
    FORCE FOREIGN FROM
    FULLTEXT GOTO GRANT
    GROUP HAVING HIGH_PRIORITY
    HOUR_MICROSECOND HOUR_MINUTE HOUR_SECOND
    IF IGNORE IN
    INDEX INFILE INNER
    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 MATCH MEDIUMBLOB
    MEDIUMINT MEDIUMTEXT MIDDLEINT
    MINUTE_MICROSECOND MINUTE_SECOND MOD
    MODIFIES NATURAL NOT
    NO_WRITE_TO_BINLOG NULL NUMERIC
    ON OPTIMIZE OPTION
    OPTIONALLY OR ORDER
    OUT OUTER OUTFILE
    PRECISION PRIMARY PROCEDURE
    PURGE READ READS
    REAL REFERENCES REGEXP
    RENAME REPEAT REPLACE
    REQUIRE RESTRICT RETURN
    REVOKE RIGHT RLIKE
    SCHEMA SCHEMAS SECOND_MICROSECOND
    SELECT SENSITIVE SEPARATOR
    SET SHOW SMALLINT
    SONAME SPATIAL SPECIFIC
    SQL SQLEXCEPTION SQLSTATE
    SQLWARNING SQL_BIG_RESULT SQL_CALC_FOUND_ROWS
    SQL_SMALL_RESULT SSL STARTING
    STRAIGHT_JOIN TABLE TERMINATED
    THEN TINYBLOB TINYINT
    TINYTEXT TO TRAILING
    TRIGGER TRUE UNDO
    UNION UNIQUE UNLOCK
    UNSIGNED UPDATE USAGE
    USE USING UTC_DATE
    UTC_TIME UTC_TIMESTAMP VALUES
    VARBINARY VARCHAR VARCHARACTER
    VARYING WHEN WHERE
    WHILE WITH WRITE
    XOR YEAR_MONTH ZEROFILL

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

    • ACTION

    • BIT

    • DATE

    • ENUM

    • NO

    • TEXT

    • TIME

    • TIMESTAMP

     
    © 1997-2005 PHP Club Team
    Rambler's Top100