当前位置:编程学习 > python >>

python sqlite中的问题

cx.text_factory=str B = '哈哈' cu.execute('''create table IF NOT EXISTS catalog(Id integer PRIMARY KEY, Name char(10),Country text DEFAULT '中国')''') cu.execute('INSERT INTO catalog(Name) Values('+B+')') cx.commit() cu.execute('select * from catalog') rs = cu.fetchall() print '2:', print rs 为什么 会出现这个错误啊 no such column: 哈哈
追问:加了的话 也是不行的哦~~方便 留个QQ嘛? 
贴不上来=.=之前没有这个表的 '''create table IF NOT EXISTS catalog 这句话 就是判断是否有这个表!是中文的问题 如果把'哈哈'改成'11' 就可以存入! 是不是表的格式有错误? 如果把
 cu.execute('INSERT INTO catalog(Name) Values('+B+')')
改成
 cu.execute('INSERT INTO catalog(Name) Values("哈哈")')
也是可以存进去的
答案:因为你要插入的是字符串,但是按照你现在这样的写法,两边就少了引号,字符串要加引号才行。
其他:是不是你之前就有这个表了,而且这个表里面压根就没有Name这个字段?
你用的语法是没有这个表的时候才创建。
在create之前再执行一条语句试试
 cu.execute('drop table catalog;')
或者看下系统里面真正创建这个表的sql语句是什么:
 cu.execute('select sql from sqlite_master where type='table' and name='catalog';')

上一个:django dbshell 使用sqlite的时候报错: 'sqlite3' 不是内部或外部命令,也不是可运行的程序 或批处理文件
下一个:JDBC 连接SQLite3 报java.sql.SQLException: out of memory异常

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,