python 将mysql数据库中的int类型修改为NULL 报1366错误,解决办法

 

 gt.run_sql()是用pymysql 封装的类

distribution_sort_id  type: int
目的:将此字段值全部修改为NULL
g=2
gt.run_sql("update goods set distribution_sort_id=%s;",(g,))
修改是成功的


g='null' or g="NULL"
gt.run_sql("update goods set distribution_sort_id=%s;",(g,))
会报1366错误

解决方法为
g=None
gt.run_sql("update goods set distribution_sort_id=%s;",(g,))
数据库字段distribution_sort_id 就被修改为Null了


转载于:https://www.cnblogs.com/yanxiatingyu/p/10109891.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,你需要安装两个Python库:pandas 和 pymysql。 然后,你可以按照以下步骤将 Excel 数据导入到 MySQL 数据库: 1. 使用 pandas 库读取 Excel 数据,并将其转换为 DataFrame 对象。例如,假设你的 Excel 文件名为 data.xlsx,其包含一个名为 Sheet1 的工作表,你可以使用以下代码读取数据: ```python import pandas as pd df = pd.read_excel('data.xlsx', sheet_name='Sheet1') ``` 2. 对 DataFrame 对象进行数据清洗和处理,确保数据格式正确,并删除不必要的列或行。 3. 连接到 MySQL 数据库,并创建一个表来存储数据。例如,假设你的数据库名为 testdb,用户名为 root,密码为 password,你可以使用以下代码连接到数据库: ```python import pymysql db = pymysql.connect(host='localhost', user='root', password='password', database='testdb') ``` 4. 创建一个游标对象,并使用 SQL 语句创建一个新表: ```python cursor = db.cursor() sql = """ CREATE TABLE IF NOT EXISTS data ( id INT(11) NOT NULL AUTO_INCREMENT, column1 VARCHAR(255), column2 INT(11), column3 FLOAT, PRIMARY KEY (id) ); """ cursor.execute(sql) ``` 在这个例子,我们创建了一个名为 data 的表,其包含三列:column1(字符串类型)、column2(整数类型)和 column3(浮点数类型)。 5. 将 DataFrame 对象的数据插入到 MySQL。例如,假设你的表名为 data,你可以使用以下代码将数据插入到表: ```python for i, row in df.iterrows(): sql = f""" INSERT INTO data (column1, column2, column3) VALUES ('{row['column1']}', {row['column2']}, {row['column3']}); """ cursor.execute(sql) db.commit() ``` 在这个例子,我们使用 iterrows() 函数遍历 DataFrame 对象的每一行,并使用 SQL 语句将数据插入到 MySQL。 最后,记得关闭游标和数据库连接: ```python cursor.close() db.close() ``` 这就是将 Excel 数据上传到 MySQL 数据库的基本方法。当然,具体的代码实现可能会因为你的数据格式和表结构而有所不同。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值