「MySQLの予約語と予約語をテーブル名やカラム名に登録したい場合」の編集履歴(バックアップ)一覧はこちら

MySQLの予約語と予約語をテーブル名やカラム名に登録したい場合」(2015/10/06 (火) 19:34:58) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

MySQLの予約語のまとめと予約語を登録する場合について考えていきます。10月6日記事 ~ ~ 目次 #contents ~ ~ *予約語とは ある特定の語は特別な扱いが必要になります。たとえばSELECTやWHEREなどよく使う語はカラム名やテーブル名として使用ができません。 ~ ~ *予約語一覧 MySQL5.6では以下の語が予約されています。 ACCESSIBLE 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 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 FLOAT4 FLOAT8 FOR FORCE FOREIGN FROM FULLTEXT GET GRANT GROUP HAVING HIGH_PRIORITY HOUR_MICROSECOND HOUR_MINUTE HOUR_SECOND 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 JOIN KEY KEYS KILL LEADING LEAVE LEFT LIKE LIMIT LINEAR LINES LOAD LOCALTIME LOCALTIMESTAMP LOCK LONG LONGBLOB LONGTEXT LOOP LOW_PRIORITY MASTER_BIND MASTER_SSL_VERIFY_SERVER_CERT MATCH MAXVALUE MEDIUMBLOB MEDIUMINT MEDIUMTEXT MIDDLEINT MINUTE_MICROSECOND MINUTE_SECOND MOD MODIFIES NATURAL NO_WRITE_TO_BINLOG NOT NULL NUMERIC ON OPTIMIZE OPTION OPTIONALLY OR ORDER OUT OUTER OUTFILE PARTITION PRECISION PRIMARY PROCEDURE PURGE RANGE READ READ_WRITE READS REAL REFERENCES REGEXP RELEASE RENAME REPEAT REPLACE REQUIRE RESIGNAL RESTRICT RETURN REVOKE RIGHT RLIKE SCHEMA SCHEMAS SECOND_MICROSECOND SELECT SENSITIVE SEPARATOR SET SHOW SIGNAL SMALLINT SPATIAL SPECIFIC SQL SQL_BIG_RESULT SQL_CALC_FOUND_ROWS SQL_SMALL_RESULT SQLEXCEPTION SQLSTATE SQLWARNING 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 ~ ~ *それでも予約語を使いたい場合 &color(red){あまり推奨はされませんが、}それでも予約語を使いたい場合、バッククオート(`)を用います。 ~ ~ *SQL文 **これはエラー CREATE TABLE RESERVATION ( id INT NOT NULL AUTO_INCREMENT, WHERE VARCHAR(255) NOT NULL, PRIMARY KEY(id) ); WHEREは予約語として登録されているためエラーがでる。 ~ ~ **これは通る もし使いたい場合バッククオートを使う CREATE TABLE RESERVATION2 ( id INT NOT NULL AUTO_INCREMENT, `WHERE` VARCHAR(255) NOT NULL, PRIMARY KEY(id) ); どうしても使いたい場合はバッククオートを使う。 ~ ~ *まとめ あまり推奨されませんが、どうしても使いたい場合はバッククオートで予約語をくくりましょう。 ~ ~ 以上

表示オプション

横に並べて表示:
変化行の前後のみ表示: