Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.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
连接器/python executemany非类型_Python_Mysql_Mysql Python - Fatal编程技术网

连接器/python executemany非类型

连接器/python executemany非类型,python,mysql,mysql-python,Python,Mysql,Mysql Python,我对连接器/python执行插入查询有点问题 我有将数据插入数据库的功能。参数数据是元组列表: [(2652884,,'5.0.5.239',1),…] 查询本身在self中工作。\uu cnx是初始化的连接。 以下是回溯: File "sdi/database/DbValidator.py", line 91, in process_records self.__driver.insert_url(urldata) File "/home/david/workspace/sti

我对连接器/python执行插入查询有点问题

我有将数据插入数据库的功能。参数数据是元组列表: [(2652884,,'5.0.5.239',1),…]

查询本身在self中工作。\uu cnx是初始化的连接。 以下是回溯:

  File "sdi/database/DbValidator.py", line 91, in process_records
    self.__driver.insert_url(urldata)
  File "/home/david/workspace/stickydi/sdi/database/MySQLDriver.py", line 87, in insert_url
    cursor.executemany(query, data)
  File "/usr/lib/python3/dist-packages/mysql/connector/cursor.py", line 492, in executemany
    return self._batch_insert(operation,seq_params)
  File "/usr/lib/python3/dist-packages/mysql/connector/cursor.py", line 428, in _batch_insert
    fmt = m.group(1).encode(self._connection.charset)
AttributeError: 'NoneType' object has no attribute 'group'

我有一个非常类似的方法,它工作正常,我只是不明白为什么ExecuteMay()会出错。

只使用
%s
作为
查询中的参数标记。不要使用
%d

query = """
    INSERT INTO `sp_urls` (`parent_id`, `url`, `version`, `hits`) 
    VALUES (%s, %s, %s, %s) ON DUPLICATE KEY UPDATE url=url"""        
%s
格式。在字符串格式中,它与
%s
的含义不同


要使用的正确参数样式取决于数据库驱动程序。MySQLdb使用
%s
。其他数据库驱动程序(如and)使用

仅使用
%s
作为
查询中的参数标记。不要使用
%d

query = """
    INSERT INTO `sp_urls` (`parent_id`, `url`, `version`, `hits`) 
    VALUES (%s, %s, %s, %s) ON DUPLICATE KEY UPDATE url=url"""        
%s
格式。在字符串格式中,它与
%s
的含义不同

要使用的正确参数样式取决于数据库驱动程序。MySQLdb使用
%s
。其他数据库驱动程序,如和,使用

您不应该对SQL参数使用
%d
。坚持使用
%s
,让MySQL连接器处理以下类型:

query = """\
    INSERT INTO `sp_urls` (`parent_id`, `url`, `version`, `hits`) 
    VALUES (%s, %s, %s, %s)
    ON DUPLICATE KEY UPDATE url=url
    """
引述:

paramstyle

字符串常量,说明接口所需的参数标记格式类型。设置为
'format'
=ANSI C
printf
格式代码,例如
“…其中name=%s'
。如果映射对象用于conn.execute(),则接口实际使用
'pyformat'
=Python扩展格式代码,例如
“…其中name=%(name)s'
。但是,API目前不允许在paramstyle中指定多个样式

诚然,对SQL参数使用
%s
与Python字符串格式类似,但并不相同。

您不应该对SQL参数使用
%d
。坚持使用
%s
,让MySQL连接器处理以下类型:

query = """\
    INSERT INTO `sp_urls` (`parent_id`, `url`, `version`, `hits`) 
    VALUES (%s, %s, %s, %s)
    ON DUPLICATE KEY UPDATE url=url
    """
引述:

paramstyle

字符串常量,说明接口所需的参数标记格式类型。设置为
'format'
=ANSI C
printf
格式代码,例如
“…其中name=%s'
。如果映射对象用于conn.execute(),则接口实际使用
'pyformat'
=Python扩展格式代码,例如
“…其中name=%(name)s'
。但是,API目前不允许在paramstyle中指定多个样式


诚然,对SQL参数使用
%s
与Python字符串格式类似,但并不相同。

我不久前简单地阅读了有关格式约定的内容,我只记得它是类似于C的约定,所以我认为它也适用于%d。很明显,我错了,谢谢你的解释。我不久前简单地阅读了格式化约定,我只记得它是类似C的约定,所以我认为它也适用于%d。我显然错了,谢谢你的解释。