找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 3021|回复: 4

[求助] 调用mysql 插入记录,用变量给values参数赋值时报错

1

主题

2

帖子

2

积分

贫民

积分
2
lucknhl 发表于 2017-9-19 19:01:20 | 显示全部楼层 |阅读模式
import pymysql
conn =pymysql.connect(host='127.0.0.1',user='root',passwd='1234',port=3306)
cur=conn.cursor()
cur.execute('create database if not EXISTS db_links')
cur.execute('use db_links')
cur.execute("create table if not EXISTS table_links(ID bigint(7) not null auto_increment,link_name VARCHAR (150),PRIMARY KEY (ID))")
value_1='hello'

cur.execute("insert into table_links(link_name) VALUES (value_1)")

cur.execute('select * from table_links')
get_rows=cur.fetchall()
for get_row in get_rows:
    print(get_row)
cur.close()
conn.close()用字符串变量 value_1 给 VALUES 参数赋值的时候,执行报错:
pymysql.err.InternalError: (1054, "Unknown column 'value_1' in 'field list'")


请大神指导:如何用变量给values 赋值,因为要处理从网上得到大量的字符串需要存入数据库。


回复

使用道具 举报

1

主题

7

帖子

7

积分

贫民

积分
7
xiaoluo 发表于 2017-9-19 21:08:16 | 显示全部楼层
cur.execute("insert into table_links(link_name) VALUES (value_1)")
这句话有问题,"insert into table_links(link_name) VALUES ('{0}')".format(value_1),还有好多种格式,以前的%s等都可以用,注意的就是'{0}'的两个单引号,如果是字符串类型的话,需要添加单引号
回复 支持 反对

使用道具 举报

1

主题

2

帖子

2

积分

贫民

积分
2
lucknhl  楼主| 发表于 2017-9-19 22:21:08 | 显示全部楼层
xiaoluo 发表于 2017-9-19 21:08
cur.execute("insert into table_links(link_name) VALUES (value_1)")
这句话有问题,"insert into table_ ...

再请教一下,要是使用%s,该如何写
回复 支持 反对

使用道具 举报

2

主题

219

帖子

219

积分

版主

Rank: 7Rank: 7Rank: 7

积分
219

热心会员默默耕耘优秀版主

剑心无痕 发表于 2017-9-20 08:20:26 | 显示全部楼层
lucknhl 发表于 2017-9-19 22:21
再请教一下,要是使用%s,该如何写

"insert into table_links(link_name) VALUES ('%s')" % value_1
回复 支持 反对

使用道具 举报

1

主题

7

帖子

7

积分

贫民

积分
7
xiaoluo 发表于 2018-5-28 22:14:00 | 显示全部楼层
xiexie
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表