gpt4 book ai didi

python - 重写mysql中的日期时间

转载 作者:行者123 更新时间:2023-11-29 11:20:38 24 4
gpt4 key购买 nike

我在修改包含日期的 SQL 表时遇到一些问题。

这是我正在运行的代码:

import pymysql
cnx=pymysql.connect(dbstuff)
cursor=cnx.cursor()
cursor.execute("SELECT * FROM devices ORDER BY ip_addr,Port ASC")
results=cursor.fetchall()
lst = [(i,)+line[1:] for i, line in enumerate(results, 1)]
values = ', '.join(map(str,lst))
query="DELETE FROM devices; INSERT INTO devices VALUES {}".format(values)
query = query.replace("None","NULL")
cursor.execute(query)
cnx.commit()
cnx.close()

如果 sql 中的日期列为 NULL,则运行不会出现问题。如果在字段中插入了日期,我会收到以下错误:

"FUNCTION datetime.datetime does not exist."

当我查看sql select查询的结果时,日期列值转换为以下内容:

datetime.datetime(2016, 8, 16, 11, 24, 4)

我认为这是一个 python 的东西,而不是 sql 的东西。无论如何,我还没有找到将其转换为 sql 可以理解的格式。

最佳答案

对于日期时间值,您可以使用:

your_datetime = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")

该变量将保存如下字符串值:

2018-05-06 21:14:37

然后使用以下 SQL 命令:

"INSERT INTO your_table (your_datetime_column) VALUES (str_to_date(\'%s\', '%%Y-%%m-%%d %%H:%%i:%%s'))" % (your_datetime)

请勿使用以下 - 它不适用于 .format() 方法:

"INSERT INTO your_table (your_datetime_column) VALUES ({0})".format (your_datetime)

关于python - 重写mysql中的日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38985691/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com