相关疑难解决方法(0)

Django:使用executemany和MySQL自定义原始SQL插入

我需要将大量数据上传到MySQL数据库.对于大多数模型,我使用django的ORM,但我的一个模型将有数十亿(!)的实例,我想优化其插入操作.

我似乎无法找到使executemany()工作的方法,并且在谷歌搜索后似乎几乎没有任何例子.

我正在寻找正确的sql语法+正确的命令语法+正确的值数据结构,以支持以下sql语句的executemany命令:

INSERT INTO `some_table` (`int_column1`, `float_column2`, `string_column3`, `datetime_column4`) VALUES (%d, %f, %s, %s)
Run Code Online (Sandbox Code Playgroud)

是的,我明确说明了id(int_column1)的效率.

一个简短的示例代码会很棒

mysql sql django insert

6
推荐指数
1
解决办法
1万
查看次数

MySQLdb不返回所有使用"on duplicate key update"转换的参数

使用python中的MySQLdb包,我想插入记录并检查一些唯一键.我使用的方法是executemany.参数是sql语句和元组.但是当我执行它时,它引发了一个错误,表示"并非所有参数都被转换".代码如下:

dData = [[u'Daniel', u'00-50-56-C0-00-12', u'Daniel']]
sql = "INSERT INTO app_network_white_black_list (biz_id, shop_id, type, mac_phone, remarks, create_time) " \
      "VALUES ({bsid}, {shop_id}, {type}, %s, %s, NOW()) " \
      "ON DUPLICATE KEY UPDATE type={type}, remarks=%s, create_time=NOW()".format(bsid=bsid, shop_id=shop_id, type=dType)
cur.executemany(sql, tuple(dData))
Run Code Online (Sandbox Code Playgroud)

有人说这是一个错误.但他们并没有给我一条跳过它的途径.如果这是一个错误,请提供方法.

python mysql-python

5
推荐指数
1
解决办法
3370
查看次数

标签 统计

django ×1

insert ×1

mysql ×1

mysql-python ×1

python ×1

sql ×1