SQLite documentation clearly says about not using keywords as the names of named objects. For example, using a keyword as a table name
CREATE TABLE UNIQUE (
a TEXT
);
leads to the following syntax error:
Error while executing SQL query on database 'provider': near "UNIQUE": syntax error
But this is not true for all keywords. Let's try LIKE as a table name:
CREATE TABLE LIKE (
a TEXT
);
No error, the table is created. Let's try LIKE as a column name:
CREATE TABLE LIKE (
LIKE TEXT
);
No problem.
INSERT INTO LIKE (LIKE) VALUES('LIKE');
Also works. And now is the best example:
SELECT LIKE FROM LIKE WHERE LIKE LIKE LIKE;
Compiles, runs and returns correct results. You don't even need to put quotes around the last LIKE.
CREATE TABLE UNIQUE (
a TEXT
);
leads to the following syntax error:
Error while executing SQL query on database 'provider': near "UNIQUE": syntax error
But this is not true for all keywords. Let's try LIKE as a table name:
CREATE TABLE LIKE (
a TEXT
);
No error, the table is created. Let's try LIKE as a column name:
CREATE TABLE LIKE (
LIKE TEXT
);
No problem.
INSERT INTO LIKE (LIKE) VALUES('LIKE');
Also works. And now is the best example:
SELECT LIKE FROM LIKE WHERE LIKE LIKE LIKE;
Compiles, runs and returns correct results. You don't even need to put quotes around the last LIKE.