我尝试使用pymysql更新sql数据库中的一行。为了使整个事物更加pythonic,我定义变量和位置以使用%s
进行更新。
这适用于一个变量,但另一个变量是我不明白的错误。
这是我的代码:
with connection.cursor() as cursor:
#sql = "update tf_data set doi=\'"+str(DOI)+"\' where tf_data_id="+str(tf_data_id)+";"
sql = "update tf_data set doi=%(DOI)s where tf_data_id=%(data_id)s"
DOI=DOI
data_id = str(tf_data_id)
cursor.execute(sql)
连接是在脚本开头定义的,并且已经有效。 变量是:
DOI= '10.1371/journal.pone.0151666'
和tf_data_id = 1
如果我执行,我认为命令应该直接在mysql中运行:
update tf_data set doi='10.1371/journal.pone.0151666' where tf_data_id='1';
有人可以告诉我,这是什么问题?
答案 0 :(得分:1)
你需要
function success(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
console.log(latitude, longitude);
}
navigator.geolocation.getCurrentPosition(success);
或者您可以使用sql = "update tf_data set doi='%s' where tf_data_id='%s'" % (str(DOI), str(tf_data_id))
方法
format()