为什么可以';我不能在MYSQL中插入吗?(Python MySQLdb)
这是我之前提出的问题的后续: 这个问题部分地解决了它。现在我用Python来做,但它不起作用:( 我甚至做了浮动(utm_easting)和浮动(utm_northing) 编辑:这是错误:为什么可以';我不能在MYSQL中插入吗?(Python MySQLdb),python,mysql,database,insert,Python,Mysql,Database,Insert,这是我之前提出的问题的后续: 这个问题部分地解决了它。现在我用Python来做,但它不起作用:( 我甚至做了浮动(utm_easting)和浮动(utm_northing) 编辑:这是错误: execute()最多接受3个参数(给定5个)这可能取决于用于SQL调用的任何API,但可能是: a) 值实际上不是字符串,您需要将%s替换为适当的类型(%d,例如,整数?),或者 b) 字符串值需要这样引用:值('%s',PointFromWKB(point('%s','%s'))这可能取决于用于SQL
execute()最多接受3个参数(给定5个)这可能取决于用于SQL调用的任何API,但可能是: a) 值实际上不是字符串,您需要将%s替换为适当的类型(%d,例如,整数?),或者
b) 字符串值需要这样引用:
值('%s',PointFromWKB(point('%s','%s'))
这可能取决于用于SQL调用的任何API,但可能是:
a) 值实际上不是字符串,您需要将%s替换为适当的类型(%d,例如,整数?),或者
b) 字符串值需要这样引用:
值('%s',PointFromWKB(点('%s','%s'))
已解决。在我的变量周围放些偏执论
cursor.execute("INSERT INTO life(user_id, utm) values(%s,PointFromWKB(point(%s,%s)))",(the_user_id, utm_easting, utm_northing))
解决了。在我的变量周围放些偏执论
cursor.execute("INSERT INTO life(user_id, utm) values(%s,PointFromWKB(point(%s,%s)))",(the_user_id, utm_easting, utm_northing))
发件人:
在语句字符串后面
参数执行(),提供元组
包含要绑定到的值
占位符,按它们的顺序排列
应显示在字符串中。如果
只有一个值x,
将其指定为(x,)以表示
单元素元组
tl;博士:
cursor.execute("""INSERT INTO life(user_id, utm)
values(%s,PointFromWKB(point(%s,%s)))""",
(the_user_id, utm_easting, utm_northing))
编辑:您也可以将列表作为execute()
的第二个参数传递
cursor.execute("""INSERT INTO life(user_id, utm)
values(%s,PointFromWKB(point(%s,%s)))""",
[the_user_id, utm_easting, utm_northing])
发件人:
在语句字符串后面
参数执行(),提供元组
包含要绑定到的值
占位符,按它们的顺序排列
应显示在字符串中。如果
只有一个值x,
将其指定为(x,)以表示
单元素元组
tl;博士:
cursor.execute("""INSERT INTO life(user_id, utm)
values(%s,PointFromWKB(point(%s,%s)))""",
(the_user_id, utm_easting, utm_northing))
编辑:您也可以将列表作为execute()
的第二个参数传递
cursor.execute("""INSERT INTO life(user_id, utm)
values(%s,PointFromWKB(point(%s,%s)))""",
[the_user_id, utm_easting, utm_northing])
您会收到什么错误消息?最后的查询是什么样子的?我不知道…如何从游标打印出来?cursor.last\u query还是什么?我不知道(我对Python一无所知),但通常它是类似于last\u query或executed\u query的。不过,错误消息可能更具启发性。您会收到哪些错误消息?最后的查询是什么样子的?我不知道…如何从游标打印出来?cursor.last\u query还是什么?我不知道(我对Python一无所知),但通常它是类似于last\u query或executed\u query的。不过,错误消息可能更有启发性。@Gnudiff:
%s
是MySQLdb对传递给查询的任何值使用的参数标记。您不需要引用任何值;偶数字符串。有关详细信息,请参见此处:@Gnudiff:%s
是MySQLdb对传递给查询的任何值使用的参数标记。您不需要引用任何值;偶数字符串。详情请参见此处: