Python и SQLite3: как написать меньше значений, чем в таблице есть столбцы - PullRequest
0 голосов
/ 13 мая 2018

Я использую Python3 и SQLite3. У меня есть таблица с 6 столбцами, но я вставляю значения только в 4 столбца.

execute («ВСТАВИТЬ В ЗНАЧЕНИЯ (?,?,?,?)», [List_name])

Ошибка, которую я получаю: ОШИБКА: таблица blacklisted_ips имеет 6 столбцов, но было передано 4 значения

list_name = [(24, «somestring», «2018/05/06», «2018-05-13 10:16:34»), (24, «somestring», «2018/05/06», '2018-05-13 10:16:34')]

Итак, вопрос в том, как мне написать только в 4 столбца?

Ответы [ 2 ]

0 голосов
/ 13 мая 2018

Страница SQLite для операции INSERT указывает:

If a column-name list is specified, then the number of values in each
term of the VALUE list must match the number of specified columns.
Each of the named columns of the new row is populated with the
results of evaluating the corresponding VALUES expression.

То, что вы хотите, будет:

INSERT INTO blacklisted_ips (col1, col2, col3, col4) VALUES (?, ?, ?, ?)
0 голосов
/ 13 мая 2018

Укажите столбцы, которые вам нужны.

INSERT INTO sometable
  (foo, bar, baz, quux)
  VALUES
  (42, 420, 3.14, 0)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...