ctrl + c / v永久了,总会出错.1136 - 列数与第1行的值计数不匹配
import pymysql.cursors #conn
= pymysql.connect(host ='127.0.0.1',port = 3308,user ='test',passwd ='123456')
#conn.query(“create database mypydb”)
conn1 = pymysql.connect(host ='127.0.0.1',port = 3308,user ='test',passwd ='123456',db ='mypydb')
conn1.query('create table mytb_2(title CHAR(20)PRIMARY KEY,keywd CHAR(30))')
conn1.query(insert into mytb_2(title,keywd)values('first title1','first keywd1')”)
cur = conn1.cursor()
cur.execute(insert into mytb_2(title,keywd)values('first title2','first keywd2')“)```
如上所示:使用conn1.query()和cur.execute()两种方法插入数据运行没问题,然鹅就是写不进去,创表是可以成功滴,SQL语句也是没问题滴,在数据库客户端使用是正常滴,虽然语法很简陋。好了直接百度… 看到的第一眼就知道答案了,插入插入进去的原因,好吧加上conn1.commit()然后看看结果。对了注意在pycharm中修改创建的表名或者注释掉创建表的sql语句.first_test1和first_test2,是关注重点,运行后查看数据库。最后first_title211成功上位,title2和title21两位前任客死异乡,未能入驻mysql大本营,默哀1024秒。 conn1.query()方法和获取游标后的cur.execute()方法都可以插入。然后在对应方法后面跟上conn1.commit()完成事务.ok解决一个小问题。
下面的是大问题:1136 - 列数与第1行的值计数不匹配。无法写入数据库看看你的sql语句是不是这样的:sql =“insert into mytb_6(title,keywd)VALUES(’% s’,’%s’)“%(姓名,钥匙)#一定注意%s占位符要加引号写出这样’%s’。不然一直报错。总算成功了,撒花花〜