Skip to content Skip to sidebar Skip to footer

Sqlite - Use Backticks (`) Or Double Quotes (") With Python

I saw a similar question in Stack Overflow pertaining to Android, but I was wondering whether I should use backticks (`) or double quotes (') - using Python - to select table names

Solution 1:

The SQL standard says that strings must use 'single quotes', and identifiers (such as table and column names), when quoted, must use "double quotes".

For compatibility with MySQL, SQLite also allows to use single quotes for identifiers and double quotes for strings, but only when the context makes the meaning unambiguous. (In SELECT 'rowid' ..., a string is allowed, so a string is what you get.) If possible, always use the standard SQL quotes.

For compatibility with MySQL, SQLite also allows `backticks` for identifiers.

For compatibility with Microsft databases, SQLite also allows [brackets] for identifiers.

(This works in all SQLite versions.)


Solution 2:

Prefer double quotes for quoting identifiers such as column or table names. It's the SQL standard.

Backticks also work but they're only supported for MySQL syntax compatibility.

Single quotes are for string literals, not identifiers. That's why you'll get the literal value when using them.

Further reading: http://www.sqlite.org/lang_keywords.html


Post a Comment for "Sqlite - Use Backticks (`) Or Double Quotes (") With Python"