为什么用executemany不行

为什么用executemany不行

老师您好,我看慕美老师在另外一个回答里说往新表添加数据时,也可以采用executemany进行多次添加,代码如下:

http://img1.sycdn.imooc.com//climg/5ed5a2df097b43d306270187.jpg

其他代码都没问题,这样子不会报错,但是新表里还是没有数据,请问是哪里出问题了呢


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕笑蓉 2020-06-02 18:16:35

同学,你好。将插入语句条件判断处=号左边的空格删掉试一下:

http://img1.sycdn.imooc.com//climg/5ed626da09478fc508910092.jpg

祝学习愉快~

  • 诶,我记得讲师在讲课的时候说,由于不确定个数,所以在这里无法采用占位符的方法 为什么现在却可以使用占位符呢
    2020-06-02 18:58:13
  • 同学,你好。这个用where判断的deptno字段是可以确定个数的。 祝学习愉快~
    2020-06-02 19:04:19
  • 那这是讲师讲错了么? 他讲的方法也是采用的where和dept呀,和这个前面的代码完全相同
    2020-06-02 22:11:09
好帮手慕笑蓉 2020-06-02 14:59:45

同学,你好。老师这边测试是可以向数据库中插入数据的,同学是否是因为运行了没有刷新数据库,同学刷新一下试一试,如果还是没有,可提供相关代码到问答区,方便老师快速准确的定位问题所在。

如果解决了你的疑惑,请采纳,祝学习愉快~ 


  • import mysql.connector.pooling config={ "host": "localhost", "port": 3306, "user": "root", "password": "wei1995", "database": "demo" } try: pool=mysql.connector.pooling.MySQLConnectionPool( **config, pool_size=10 ) con=pool.get_connection() con.start_transaction() cursor=con.cursor() sql="DROP TABLE t_emp_new" cursor.execute(sql) sql="CREATE TABLE t_emp_new LIKE t_emp" # LIKE表示抓取数据表结构,里面不含数据 cursor.execute(sql) sql="SELECT AVG(sal) AS avg FROM t_emp" cursor.execute(sql) temp=cursor.fetchone() # 将游标中的结果集取出来,但前提是游标中只有一条记录 avg=temp[0] # 公司的平均底薪 sql="SELECT deptno FROM t_emp GROUP BY deptno HAVING AVG(sal)>=%s" cursor.execute(sql,[avg]) temp=cursor.fetchall() # [(20,), (10,)] sql="INSERT INTO t_emp_new SELECT * FROM t_emp WHERE deptno =%s" cursor.executemany(sql,temp) con.commit() except Exception as e: if 'con' in dir(): con.rollback() print(e) 老师您好,这是我的代码,麻烦检查一下
    2020-06-02 15:38:21
  • coffeehyh 回复 提问者 weixin_慕数据1559209 #2
    复制了你的代码运行了一遍,没报错,t_emp_new 表也成功插入了数据。 建议你执行程序之前,运行demo.sql文件重新初始化一下数据再试试。 另外, sql="DROP TABLE t_emp_new" 改成: sql="DROP TABLE IF EXISTS t_emp_new" 保证t_emp_new 表没创建之前,该sql也能顺利执行。
    2020-06-04 00:37:39
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师