打印

MySQL 语言参考

6.1.7 MySQL 对保留字挑剔吗?

一个常见的问题来于试图使用 MySQL 内置的数据类型或函数名作为表的字段名来创建数据表,例如 TIMESTAMP 或 GROUP。但是,允许你这样做(例如,ABS 是一个允许的列名),当使用函数名也是列名的函数时,函数名与后面跟着的 “(” 之间不允许存在空格。

下面的词在 MySQL 中是被明确保留的。它们大多数被 ANSI SQL92 禁止作为列或表名(例如, GROUP)。一些被保留是因为 MySQL 需要它们并且它使用的是一个 yacc 语法分析器:

单词  单词  单词  
ADD  ALL  ALTER  
ANALYZE  AND  AS  
ASC  AUTO_INCREMENT  BDB  
BEFORE  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  GRANT  
GROUP  HASH  HAVING  
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   

以下的符号(来自上表)是被 ANSI SQL 禁止的,但是可以被 MySQL 用于列/表名。这是由于用他们命名是很自然的并且有很多的人已经使用了它们。

ACTION
BIT
DATE
ENUM
NO
TEXT
TIME
TIMESTAMP
燕子去了,有再来的时候;杨柳枯了,有再青的时候;桃花谢了,有再开的时候。但是,聪明的,你告诉我,我们的日子为什么一去不复返呢?——是有人偷了他们罢:那是谁?又藏在何处呢?是他们自己逃走了罢:现在又到了哪里呢?

TOP

楼主辛苦地,

TOP


感谢一直以来您对我们的支持!
当前时区 GMT+8, 现在时间是 2008-11-22 00:36 京ICP证060528 号

Designed By 17DST