Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么可以';我不能在MYSQL中插入吗?(Python MySQLdb)_Python_Mysql_Database_Insert - Fatal编程技术网

为什么可以';我不能在MYSQL中插入吗?(Python MySQLdb)

为什么可以';我不能在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

这是我之前提出的问题的后续:

这个问题部分地解决了它。现在我用Python来做,但它不起作用:(

我甚至做了浮动(utm_easting)和浮动(utm_northing)

编辑:这是错误:


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对传递给查询的任何值使用的参数标记。您不需要引用任何值;偶数字符串。详情请参见此处: