标题最近在开发中需要用到web端开发工具、需要用python工具。偶然发现微软的良心之作:Visual Studio Code,这个大小才几十兆的轻量级代码编辑器,功能却是重量级的,通过插件的方法,,支持几乎所有主流的开发语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比 Diff、GIT 等特性,支持插件扩展,并针对网页开发和云端应用开发做了优化。软件跨平台支持 Win、Mac 以及 Linux。

[最佳填坑方案出炉,点击查看]

有了Visual Studio Code(以下简称vsc),可以一个编辑器搞定多个语言编程开发了,界面UI还美美哒,简直不要太爽~

不过今天在使用vsc写个简单的Python3爬虫脚本时,却被坑了一道,也是自己对Python语言不熟悉的原因吧。因为脚本中需要把数据存储到数据库,我使用的是PyMysql,而vsc只是简单的安装了Python3支持插件,下面看案发现场:

# ...前面省略无数行代码
try:
insertSql = "insert into test (name, path, platform) values ('%s', '%s', '%s');" % ('美食', '/ch/news_food/', 'toutiao')
cursor.execute(insertSql)
db.commit
cursor.close
except:
db.rollback
finally:
db.close
# ...后面省去了N滴眼泪~

就是这个智能补全,很爽快的就按Tab选中了,注意看图:

自动补全后是这样的:



然后很愉快的执行了,也没报错,但是数据库就是没有出现这个数据,一次,两次,…好多草泥马在犇腾~

我就纳了闷了,手动把这个insertSql的内容直接复制粘贴到sqlyog里面执行,买了疯了~ 竟然有,但是一看id却不是1(对于一个空表插入一条数据,按道理应该是1),我这个表的id设置为bigint 的自增类型,然后我又在phthon这个脚本执行一次,然后又在sqlyog再执行,id变为3(不是2….),也就是说,用python脚本插入操作,数据没写进去,但是自增的主键值倒是记录下来了~

后台仔细一看,艾玛呀~ db、cursor的后面点引用的几个方法,名字后面应该带 () 括号的呀… 容错力太强的python解析器,让我也忘了刚开始学编程时属性跟方法的概念… 垂手顿足一番后,修改为如下,执行,欧了~

# ...前面省略无数行代码
try:
insertSql = "insert into test (name, path, platform) values ('%s', '%s', '%s');" % ('美食', '/ch/news_food/', 'toutiao')
cursor.execute(insertSql)
db.commit()
cursor.close()
except:
db.rollback()
finally:
db.close()
# ...后面省去了N滴眼泪~

VS Code编写Python3 insert 数据库插入无效也不报错的坑~.~的更多相关文章

  1. 数据库 插入时 碰到NULL报错判断的一种方法(技巧)

    //public static object ToDBNull(object value) 判断插入数据的时候个别参数不能为空的时候做的判断方法 //{ // if (value == null) / ...

  2. PL/SQL编写的SQL语句插入SqlPlus时,报错 PLS-00302

    最近刚开始用PL/SQL,然后发现写SQL语句时,运行的时候,会对表中的字段报错. 好像是对字段的使用有问题 原来写的错误代码大概像这样 DECLARE xuehao XSB.id% TYPE; BE ...

  3. Python3.x:关于urllib中urlopen报错问题的解决方案

    Python3.x:关于urllib中urlopen报错问题的解决方案 调用:urllib.urlopen(url) 报错:AttributeError: 'module' object has no ...

  4. c#执行插入sql 时,报错:异常信息:超时时间已到。在操作完成之前超时时间已过或服务器未响应

    问题:c#执行插入sql 时,报错:异常信息:超时时间已到.在操作完成之前超时时间已过或服务器未响应 解决: SqlCommand cmd = new SqlCommand(); cmd.Comman ...

  5. 【mybatis】mybatis执行一个update方法,返回值为1,但是数据库中数据并未更新,粘贴sql语句直接在数据库执行,等待好久报错:Lock wait timeout exceeded; try restarting transaction

    今天使用mybatis和jpa的过程中,发现这样一个问题: mybatis执行一个update方法,返回值为1,但是数据库中数据并未更新,粘贴sql语句直接在数据库执行,等待好久报错:Lock wai ...

  6. 同时安装Python2与Python3,安装第三方包,老是报错

    同时安装Python2与Python3,安装第三方包,老是报错提示Fatal error in launcher: Unable to create process using '"',那可 ...

  7. SpringBoot配置JDBC连接MySql数据库的时候遇到了报错:HikariPool-1 - Exception during pool initialization

    使用SpringBoot做JAVA开发时,JDBC连接MySql数据库的时候遇到了报错: ERROR 10392 --- [ main] com.zaxxer.hikari.pool.HikariPo ...

  8. 使用DBUnit框架数据库插入特殊字符失败的查错经历

    本文记录的是使用DBUnit测试框架进行数据库数据插入时,插入特殊字符失败的查错经历.希望能对向我这样的小白同学们在遇到类似问题时,能够有一些启发.背景:在写跟数据库交互模块的单元测试,数据库表中的e ...

  9. Mysql 升级到 5.6 后插入语句时间字段报错:Incorrect datetime value: '' for column 'createtime'

    今天部署服务器项目运行,当遇见有时间数据对象的插入和更新操作的时候,就报错,如下: Caused by: com.mysql.jdbc.MysqlDataTruncation: Data trunca ...

随机推荐

  1. python 之 列表与字典

    1.4 列表与字典 列表与字典,这两种类型,都是各种类型的集合,以列表为例,如果列表中包含列表,就形成嵌套. 这两种类型几乎是所有python脚本的主要工作组件 . 这种结构信息是可变的可修改的.不像 ...

  2. 使用asp.net MVC的 HtmlHelper 时遇到的小问题,报错:Templates can be used only with field access, property access, single-dimension array index, or single-parameter custom indexer expressions.

    异常信息:Templates can be used only with field access, property access, single-dimension array index, or ...

  3. k-近邻算法-优化约会网站的配对效果

    KNN原理 1. 假设有一个带有标签的样本数据集(训练样本集),其中包含每条数据与所属分类的对应关系. 2. 输入没有标签的新数据后,将新数据的每个特征与样本集中数据对应的特征进行比较. a. 计算新 ...

  4. 一脸懵逼学习Nginx及其安装,Tomcat的安装

    1:Nginx的相关概念知识: 1.1:反向代理: 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到 ...

  5. 在PHP中使用AES加密算法加密数据

    算法/模式/填充 16字节加密后数据长度 不满16字节加密后长度 AES/CBC/NoPadding 不支持 AES/CBC/PKCS5Padding AES/CBC/ISO10126Padding ...

  6. 最大子数组(I, II, III,IV,V)和最大子数组乘积 (动态规划)

    I 找一个连续最大子数组,sum加到nums[i], 如果前面子数组和<0则舍去,从头开始. class Solution { public: /** * @param nums: A list ...

  7. 1419: Red is good

    题解: 很简单的期望dp 转移方程显然,max一个0就可以了 #include <bits/stdc++.h> using namespace std; #define rep(i,h,t ...

  8. ionic2+中修改minSdkVersion的方法

    具体方法很简单,直接在config.xml中找到下面这一行 <preference name="android-minSdkVersion" value="17&q ...

  9. Python学习(八) —— 内置函数和匿名函数

    一.递归函数 定义:在一个函数里调用这个函数本身 递归的最大深度:997 def func(n): print(n) n += 1 func(n) func(1) 测试递归最大深度 import sy ...

  10. div 内容自动换行

    如图: 1.自动换行 <div style="widht:100%;height:100%;word-wrap: break-word">111111111111111 ...