Существует ли какая-либо комбинация «ГДЕ», «нравится» и «ИЛИ» в sqlite?

#python-3.x #sqlite

#python-3.x #sqlite

Вопрос:

a — это значение, введенное пользователем.

 cur.execute('SELECT * FROM table WHERE Column-name LIKE ?', ('%{}%'.format(a,))
  

В базе данных должно отображаться значение, совпадающее с введенным значением. Он отображается только для одного столбца. Я хочу получить запись для более чем одного столбца. Необходимо использовать оператор OR, но не уверен в синтаксисе. Может ли кто-нибудь, пожалуйста, помочь мне.

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

1. Пожалуйста, прочитайте информацию о теге sqlite.

Ответ №1:

Просто расширьте where предложение с дополнительными условиями, разделенными OR — соответственно, вам нужно повторить параметры привязки:

 cur.execute('SELECT * FROM table WHERE col1 LIKE ? OR col2 LIKE ?', ('%{}%'.format(a, a))
  

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

1. я попытался сделать то же самое, но выдает ошибку: ‘Неверное количество предоставленных привязок. В текущем операторе используется 2, и есть 1 предоставленный. ‘