не удается создать таблицу с текстовым типом данных SQLite3

#sqlite

#sqlite

Вопрос:

Я получаю эту ошибку каждый раз, когда пытаюсь создать ТЕКСТОВЫЙ тип данных:

 values TEXT )"""
    sqlite3.OperationalError: near "values": syntax error
 

и это мой код

 cursor.execute("""CREATE TABLE outliers (
            DUT integer,
            time integer,
            params TEXT,
            values TEXT )"""
    )
 

кто-нибудь может мне помочь? У меня много трудностей, пытаясь выяснить, почему

Комментарии:

1. values это зарезервированное слово. Используйте [values] или "values" .

Ответ №1:

values это зарезервированное слово в SQL (как в insert into mytable VALUES (1, 2, 3) ). Наилучшим подходом было бы выбрать имя, которое не является зарезервированным словом, например outlier_values :

 cursor.execute("""CREATE TABLE outliers (
            DUT integer,
            time integer,
            params TEXT,
            outlier_values TEXT )"""
    )
 

Если это не вариант, вы можете экранировать имя с помощью двойных кавычек ( " ):

 cursor.execute("""CREATE TABLE outliers (
            DUT integer,
            time integer,
            params TEXT,
            "values" TEXT )"""
    )
 

Комментарии:

1. Большое вам спасибо!