Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 27.1Mb
PDF (A4) - 27.2Mb
HTML Download (TGZ) - 7.2Mb
HTML Download (Zip) - 7.2Mb


9.3 予約語

SELECTDELETE、または BIGINT などの特定の語は、テーブル名やカラム名などの識別子として使用するために予約されており、特別な取り扱いが必要になります。これは、組み込み関数の名前にも当てはまる場合があります。

セクション9.2「スキーマオブジェクト名」で説明しているように、予約語は、引用符で囲まれている場合、識別子として許可されます。

mysql> CREATE TABLE interval (begin INT, end INT);
ERROR 1064 (42000): You have an error in your SQL syntax ...
near 'interval (begin INT, end INT)'

mysql> CREATE TABLE `interval` (begin INT, end INT);
Query OK, 0 rows affected (0.01 sec)

例外: 修飾名でピリオドに続く語は識別子のため、予約されていても引用符で囲む必要はありません。

mysql> CREATE TABLE mydb.interval (begin INT, end INT);
Query OK, 0 rows affected (0.01 sec)

組み込み関数名は識別子として許可されますが、識別子として使用する場合は注意してください。たとえば、COUNT はカラム名として許容されます。ただし、デフォルトでは、関数呼び出しにおいて、関数名と後続の(文字の間に空白を入れないことが許可されています。この要件によって、パーサーはその名前が関数の呼び出しで使用されるのか、それとも関数でないコンテキストで使用されるのかを判別できます。関数名の識別についての詳細は、セクション9.2.4「関数名の構文解析と解決」を参照してください。

次の表の語は、MySQL 5.6 で明示的に予約されています。さらに、_FILENAME も予約されています。今後バージョンアップするときのことを考慮に入れて、使用予定のある予約語を確認しておくことをお勧めします。新しいバージョンの MySQL を扱ったマニュアルでもこれらを確認できます。表内のほとんどの語は、カラム名やテーブル名として標準 SQL で許可されていません (GROUP など)。いくつかは、MySQL が必要とし、yacc パーサーを使用するので予約されています。予約語は、引用符で囲んだ場合、識別子として使用できます。

バージョン間の違いも含めた予約語の詳細なリストについては、Keywords and Reserved Words in MySQL 5.6を参照してください。

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | R | S | T | U | V | W | X | Y | Z

A

  • ACCESSIBLE

  • ADD

  • ALL

  • ALTER

  • ANALYZE

  • AND

  • AS

  • ASC

  • ASENSITIVE

B

  • BEFORE

  • BETWEEN

  • BIGINT

  • BINARY

  • BLOB

  • BOTH

  • BY

C

  • CALL

  • CASCADE

  • CASE

  • CHANGE

  • CHAR

  • CHARACTER

  • CHECK

  • COLLATE

  • COLUMN

  • CONDITION

  • CONSTRAINT

  • CONTINUE

  • CONVERT

  • CREATE

  • CROSS

  • CURRENT_DATE

  • CURRENT_TIME

  • CURRENT_TIMESTAMP

  • CURRENT_USER

  • CURSOR

D

  • 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

E

  • EACH

  • ELSE

  • ELSEIF

  • ENCLOSED

  • ESCAPED

  • EXISTS

  • EXIT

  • EXPLAIN

F

  • FALSE

  • FETCH

  • FLOAT

  • FLOAT4

  • FLOAT8

  • FOR

  • FORCE

  • FOREIGN

  • FROM

  • FULLTEXT

G

  • GET

  • GRANT

  • GROUP

H

  • HAVING

  • HIGH_PRIORITY

  • HOUR_MICROSECOND

  • HOUR_MINUTE

  • HOUR_SECOND

I

  • IF

  • IGNORE

  • IN

  • INDEX

  • INFILE

  • INNER

  • INOUT

  • INSENSITIVE

  • INSERT

  • INT

  • INT1

  • INT2

  • INT3

  • INT4

  • INT8

  • INTEGER

  • INTERVAL

  • INTO

  • IO_AFTER_GTIDS

  • IO_BEFORE_GTIDS

  • IS

  • ITERATE

J

  • JOIN

K

  • KEY

  • KEYS

  • KILL

L

  • LEADING

  • LEAVE

  • LEFT

  • LIKE

  • LIMIT

  • LINEAR

  • LINES

  • LOAD

  • LOCALTIME

  • LOCALTIMESTAMP

  • LOCK

  • LONG

  • LONGBLOB

  • LONGTEXT

  • LOOP

  • LOW_PRIORITY

M

  • MASTER_BIND

  • MASTER_SSL_VERIFY_SERVER_CERT

  • MATCH

  • MAXVALUE

  • MEDIUMBLOB

  • MEDIUMINT

  • MEDIUMTEXT

  • MIDDLEINT

  • MINUTE_MICROSECOND

  • MINUTE_SECOND

  • MOD

  • MODIFIES

N

  • NATURAL

  • NOT

  • NO_WRITE_TO_BINLOG

  • NULL

  • NUMERIC

O

  • ON

  • OPTIMIZE

  • OPTION

  • OPTIONALLY

  • OR

  • ORDER

  • OUT

  • OUTER

  • OUTFILE

P

  • PARTITION

  • PRECISION

  • PRIMARY

  • PROCEDURE

  • PURGE

R

  • RANGE

  • READ

  • READS

  • READ_WRITE

  • REAL

  • REFERENCES

  • REGEXP

  • RELEASE

  • RENAME

  • REPEAT

  • REPLACE

  • REQUIRE

  • RESIGNAL

  • RESTRICT

  • RETURN

  • REVOKE

  • RIGHT

  • RLIKE

S

  • SCHEMA

  • SCHEMAS

  • SECOND_MICROSECOND

  • SELECT

  • SENSITIVE

  • SEPARATOR

  • SET

  • SHOW

  • SIGNAL

  • SMALLINT

  • SPATIAL

  • SPECIFIC

  • SQL

  • SQLEXCEPTION

  • SQLSTATE

  • SQLWARNING

  • SQL_BIG_RESULT

  • SQL_CALC_FOUND_ROWS

  • SQL_SMALL_RESULT

  • SSL

  • STARTING

  • STRAIGHT_JOIN

T

  • TABLE

  • TERMINATED

  • THEN

  • TINYBLOB

  • TINYINT

  • TINYTEXT

  • TO

  • TRAILING

  • TRIGGER

  • TRUE

U

  • UNDO

  • UNION

  • UNIQUE

  • UNLOCK

  • UNSIGNED

  • UPDATE

  • USAGE

  • USE

  • USING

  • UTC_DATE

  • UTC_TIME

  • UTC_TIMESTAMP

V

  • VALUES

  • VARBINARY

  • VARCHAR

  • VARCHARACTER

  • VARYING

W

  • WHEN

  • WHERE

  • WHILE

  • WITH

  • WRITE

X

  • XOR

Y

  • YEAR_MONTH

Z

  • ZEROFILL

  • GET

  • IO_AFTER_GTIDS

  • IO_BEFORE_GTIDS

  • MASTER_BIND

  • PARTITION

MySQL では、以前に多くの人々が使用していたので、一部のキーワードを引用符で囲まない識別子として使用することを許可しています。次の一覧に例を示します。

  • ACTION

  • BIT

  • DATE

  • ENUM

  • NO

  • TEXT

  • TIME

  • TIMESTAMP


User Comments
Sign Up Login You must be logged in to post a comment.