Python 使用类SQL运算符插入元组
我试图编写一个SQL查询,其中用户输入一个名称,通过插入元组,查询将使用LIKE运算符返回数据库中类似的名称 这就是我所尝试的:Python 使用类SQL运算符插入元组,python,sql,sqlite,pycharm,Python,Sql,Sqlite,Pycharm,我试图编写一个SQL查询,其中用户输入一个名称,通过插入元组,查询将使用LIKE运算符返回数据库中类似的名称 这就是我所尝试的: user_input = input('Enter name: ') c.execute('SELECT FirstName, LastName FROM Person WHERE FirstName LIKE('%' + ? + '%')', user_input) 但是,查询无法运行,我收到了这些错误 TypeError: not all arguments c
user_input = input('Enter name: ')
c.execute('SELECT FirstName, LastName FROM Person WHERE FirstName LIKE('%' + ? + '%')', user_input)
但是,查询无法运行,我收到了这些错误
TypeError: not all arguments converted during string formatting
TypeError: must be str, not tuple
感谢您的帮助 您可以使用双引号引用SQL查询,以便允许单引号引用
%
字符:
c.execute("SELECT FirstName, LastName FROM Person WHERE FirstName LIKE '%' || ? || '%'",
(user_input,))
c.execute('SELECT FirstName, LastName FROM Person WHERE FirstName LIKE ?',
(f'%{user_input}%',))
或者向SQL查询中的占位符传递一个字符串,其中用户输入已包含在%
字符中:
c.execute("SELECT FirstName, LastName FROM Person WHERE FirstName LIKE '%' || ? || '%'",
(user_input,))
c.execute('SELECT FirstName, LastName FROM Person WHERE FirstName LIKE ?',
(f'%{user_input}%',))