Reserved Words
The following is a list of all reserved words in MariaDB.
Reserved words cannot be used as Identifiers, unless they are quoted.
The definitive list of reserved words for each version can be found by examining the sql/lex.h
and sql/sql_yacc.yy
files.
Reserved Words
Keyword | Notes |
---|---|
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_ROLE | |
CURRENT_TIME | |
CURRENT_TIMESTAMP | |
CURRENT_USER | |
CURSOR | |
DATABASE | |
DATABASES | |
DAY_HOUR | |
DAY_MICROSECOND | |
DAY_MINUTE | |
DAY_SECOND | |
DEC | |
DECIMAL | |
DECLARE | |
DEFAULT | |
DELAYED | |
DELETE | |
DELETE_DOMAIN_ID | |
DESC | |
DESCRIBE | |
DETERMINISTIC | |
DISTINCT | |
DISTINCTROW | |
DIV | |
DO_DOMAIN_IDS | |
DOUBLE | |
DROP | |
DUAL | |
EACH | |
ELSE | |
ELSEIF | |
ENCLOSED | |
ESCAPED | |
EXCEPT | Added in MariaDB 10.3.0 |
EXISTS | |
EXIT | |
EXPLAIN | |
FALSE | |
FETCH | |
FLOAT | |
FLOAT4 | |
FLOAT8 | |
FOR | |
FORCE | |
FOREIGN | |
FROM | |
FULLTEXT | |
GENERAL | |
GRANT | |
GROUP | |
HAVING | |
HIGH_PRIORITY | |
HOUR_MICROSECOND | |
HOUR_MINUTE | |
HOUR_SECOND | |
IF | |
IGNORE | |
IGNORE_DOMAIN_IDS | |
IGNORE_SERVER_IDS | |
IN | |
INDEX | |
INFILE | |
INNER | |
INOUT | |
INSENSITIVE | |
INSERT | |
INT | |
INT1 | |
INT2 | |
INT3 | |
INT4 | |
INT8 | |
INTEGER | |
INTERSECT | Added in MariaDB 10.3.0 |
INTERVAL | |
INTO | |
IS | |
ITERATE | |
JOIN | |
KEY | |
KEYS | |
KILL | |
LEADING | |
LEAVE | |
LEFT | |
LIKE | |
LIMIT | |
LINEAR | |
LINES | |
LOAD | |
LOCALTIME | |
LOCALTIMESTAMP | |
LOCK | |
LONG | |
LONGBLOB | |
LONGTEXT | |
LOOP | |
LOW_PRIORITY | |
MASTER_HEARTBEAT_PERIOD | |
MASTER_SSL_VERIFY_SERVER_CERT | |
MATCH | |
MAXVALUE | |
MEDIUMBLOB | |
MEDIUMINT | |
MEDIUMTEXT | |
MIDDLEINT | |
MINUTE_MICROSECOND | |
MINUTE_SECOND | |
MOD | |
MODIFIES | |
NATURAL | |
NOT | |
NO_WRITE_TO_BINLOG | |
NULL | |
NUMERIC | |
OFFSET | Added in MariaDB 10.6.0 |
ON | |
OPTIMIZE | |
OPTION | |
OPTIONALLY | |
OR | |
ORDER | |
OUT | |
OUTER | |
OUTFILE | |
OVER | |
PAGE_CHECKSUM | |
PARSE_VCOL_EXPR | |
PARTITION | |
PRECISION | |
PRIMARY | |
PROCEDURE | |
PURGE | |
RANGE | |
READ | |
READS | |
READ_WRITE | |
REAL | |
RECURSIVE | |
REF_SYSTEM_ID | |
REFERENCES | |
REGEXP | |
RELEASE | |
RENAME | |
REPEAT | |
REPLACE | |
REQUIRE | |
RESIGNAL | |
RESTRICT | |
RETURN | |
RETURNING | |
REVOKE | |
RIGHT | |
RLIKE | |
ROW_NUMBER | From MariaDB 10.7 |
ROWS | |
SCHEMA | |
SCHEMAS | |
SECOND_MICROSECOND | |
SELECT | |
SENSITIVE | |
SEPARATOR | |
SET | |
SHOW | |
SIGNAL | |
SLOW | |
SMALLINT | |
SPATIAL | |
SPECIFIC | |
SQL | |
SQLEXCEPTION | |
SQLSTATE | |
SQLWARNING | |
SQL_BIG_RESULT | |
SQL_CALC_FOUND_ROWS | |
SQL_SMALL_RESULT | |
SSL | |
STARTING | |
STATS_AUTO_RECALC | |
STATS_PERSISTENT | |
STATS_SAMPLE_PAGES | |
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 | |
WINDOW | Only disallowed for table aliases. |
WITH | |
WRITE | |
XOR | |
YEAR_MONTH | |
ZEROFILL |
Exceptions
Some keywords are exceptions for historical reasons, and are permitted as unquoted identifiers. These include:
Oracle Mode
In Oracle mode, from MariaDB 10.3, there are a number of extra reserved words:
Keyword | Notes |
---|---|
BODY | |
ELSIF | |
GOTO | |
HISTORY | <= MariaDB 10.3.6 only |
MINUS | From MariaDB 10.6.1 |
OTHERS | |
PACKAGE | |
PERIOD | <= MariaDB 10.3.6 only |
RAISE | |
ROWNUM | From MariaDB 10.6.1 |
ROWTYPE | |
SYSDATE | From MariaDB 10.6.1 |
SYSTEM | <= MariaDB 10.3.6 only. Note however that SYSTEM sometimes needs to be quoted to avoid confusion with System-versioned tables. |
SYSTEM_TIME | <= MariaDB 10.3.6 only |
VERSIONING | <= MariaDB 10.3.6 only |
WITHOUT | <= MariaDB 10.3.6 only |
Function Names
If the IGNORE_SPACE
SQL_MODE flag is set, function names become reserved words.
See Also
Content reproduced on this site is the property of its respective owners,
and this content is not reviewed in advance by MariaDB. The views, information and opinions
expressed by this content do not necessarily represent those of MariaDB or any other party.