> Double quotes are for keywords, not identifiers You are misunderstanding the comment there (or I will give you that it is a bit awkwardly written). Things inside single quotes are string constants by the SQL Standard. SQLite will treat it like this that is valid, but in some cases where it can't be a string constant, it will be tried as a column name Things inside double quotes are identifiers (table or column names) by the SQL Standard. SQLite will treat it like this if it is valid, but if not, but a string literal is, then it will be treated as a string literal. SQLite also allows for identifiers to be quoted as [id] pr `id` which isn't defined as such by the SQL standard by makes it more compatible with some other common engines. It is best to always use single quotes for strings and double quotes for identifiers, that method follows the standard.