python mysql下select_Python用mysql.connector select报错如何解决

python中使用mysql.connector连接mysql时,几乎一样的语句insert可以,但是select就报错

mysql的数据表是这样的:

+----+------+------+

| id | name | age |

+----+------+------+

| 1 | cxx | 25 |

+----+------+------+

我的python代码:

cursor = conn.cursor()

add_user = """insert into person(name,age) VALUES (%s,%s)"""

data_user = (newName,newAge)

cursor.execute(add_user,data_user)

conn.commit()

cursor.close()

cursor = conn.cursor()

select_user = """select * from person where name = (%s)"""

select_data = (newName)

cursor.execute(select_user,select_data)

conn.commit()

values = cursor.fetchall()

values

上半部分的插入语句是可以正常执行的,但是下半部分的搜索语句总是报错,

ProgrammingError: 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '%s)' at line 1

应该是字符串处理问题。。select_data没有替换掉select_user中的%s,但是上面的为什么就可以。。求高手解答

"""select * from person where name = (%s)"""

估计是这里错了,为何要加括号呢?换成下面的试试"""select * from person where name = %s """

最终解决方案:

select_user = r'select * from person where name = %s'

select_data = (newName, )

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd18938.html

相关文章 Recommend

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值