Как решить проблему с синтаксисом sql запроса insert

Ошибка:

ERROR:  syntax error at or near "order"
LINE 1: INSERT INTO sheet (id, order, cost, delivery_time) VALUES (1...

Мой запрос:

INSERT INTO sheet (id, order, cost, delivery_time) VALUES (1, '1231231', 123213, 2022-07-26);

Моя таблица в SQL:

 id | order | cost | delivery_time 
----+-------+------+---------------
(0 rows)

Типы данных колон:

Column('id', Integer, primary_key=True), 
Column('order', String(255), unique=True), 
Column('cost', Integer),
Column('delivery_time', Date)

Ответы (2 шт):

Автор решения: Roman-Stop RU aggression in UA

order ключевое слово в postgres. Если используете его как имя колонки или таблицы нужно брать в двойные кавычки:

INSERT INTO sheet (id, "order", cost, delivery_time) VALUES (1, '1231231', 123213, 2022-07-26);

Не забудте правильно кавычки экранировать, если запрос у вас в питон строке ограниченой двойными кавычками. Или ограничивайте тройными кавычками:

myquery = """INSERT INTO sheet (id, "order", cost, delivery_time) VALUES (1, '1231231', 123213, 2022-07-26);"""

или экранируйте обратным слешем:

myquery = "INSERT INTO sheet (id, \"order\", cost, delivery_time) VALUES (1, '1231231', 123213, 2022-07-26);"
→ Ссылка
Автор решения: Nero

Ошибка заключалась в том, что скорее всего слово "order" забронированное в sql.

→ Ссылка