最近一段时间开始使用MySQL,使用的是pymysql库。

其中遇到过一些小问题,值得记录一下,以便今后使用的时候注意到。

  1. 表格的建立,代码如下:
cursor.execute("create table %s(id char(100))" % tb_name)# 这样写可能报错

  其中tb_name就是自己定的表格名称,在使用过程中发现,当表格名称的字符串中带有'-'的时候(如test-abc),会报错,似乎是'-'在MySQL代码中有特殊意义所以让程序误以为这是一个命令。同样的,如果表格的名称与代码语句重复,例如表格名称就叫做'table',也可能使程序报错,因此可以将表格的名称用两个`括起来(注意,这个点不是单引号,而是tab建上面的那个小撇)。

  修改代码如下:

cursor.execute("create table `%s`(id char(100))" % tb_name)

  2.信息的插入,代码如下:

cursor.execute(”insert into `%s`(id) values('%s')” % (tb_name,data))# 这种可能出错

  但是我发现,当需要插入的字符串data中含有'(单引号)的时候,程序就会报错,这比较好理解,大概就是因为信息里面的单引号和代码的单引号形成了交叉,让代码变得混乱了,这种方式就只能尽量让代码中能够区分单引号的,所以我使用了三引号和双引号做区分。修改代码如下:

cursor.execute('''insert into `%s`(id) values("%s")''' % (tb_name,data))

  3.信息的错误

  我设置了一个字段为int,这个字段一般情况下都是整数,但是也可能为空值,所以一当这个值为空的时候就报错。

  目前的解决办法是将这个字段改为char类型算了。其他方法感觉还不如留空。

最新文章

  1. MySQL MMM 双主在Failover时挂起
  2. spring的beans.xml中classpath
  3. ASM:《X86汇编语言-从实模式到保护模式》第10章:32位x86处理器的编程架构
  4. mysql数据库、表、字段、记录:增、删、改、查
  5. writing concurrent programs
  6. php json_encode转JSON 编码显示中文
  7. float:left 与display:inline的具体区别?
  8. cas的url中去掉jsessionid
  9. TMethod的学习与使用
  10. java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamException
  11. (step7.2.4)hdu 2674(N!Again——简单数论)
  12. 使用cacti监控服务器
  13. 自己动手写Redis客户端(C#实现)4 - 整数回复
  14. webpack之前端性能优化(史上最全,不断更新中。。。)
  15. Miller-Rabin,Pollard-Rho(BZOJ3667)
  16. 变量类型、构造器、封装以及 LeetCode 每日一题
  17. 在区块链侧链上进行Dapp技术开发
  18. c语言——鞍点
  19. zk开机自动启动脚本
  20. Codeforces Round #425 (Div. 2) Problem D Misha, Grisha and Underground (Codeforces 832D) - 树链剖分 - 树状数组

热门文章

  1. 计蒜客 38229.Distance on the tree-1.树链剖分(边权)+可持久化线段树(区间小于等于k的数的个数)+离散化+离线处理 or 2.树上第k大(主席树)+二分+离散化+在线查询 (The Preliminary Contest for ICPC China Nanchang National Invitational 南昌邀请赛网络赛)
  2. PHP接入支付宝支付
  3. QQ邮件定时发送天气预报
  4. HDU 5517 【二维树状数组///三维偏序问题】
  5. android无后缀二进制执行文件替代apk实现程序功能
  6. android 消息机制,handler机制,messageQueue,looper
  7. 洛谷 P4884 多少个1?
  8. 属性通知之ObservableCollection
  9. Gunicorn配置部分的翻译
  10. Codeforces Round #298 (Div. 2) A. Exam 构造