【发布时间】:2020-12-19 00:25:53
【问题描述】:
我正在尝试将一些数据插入 MySQL 8 数据库的列中。 该表旨在为一周中每一天的每个小时保存一个时间段的 ID。所以我每天都有一个每小时 (tod) 的 id。
这是我自己的数据库,我正在学习。
我不知道如何将 24 小时制部分添加到列中
我是新手,所以要温柔
这是我的 CREATE TABLE 语句:
CREATE TABLE IF NOT EXISTS `ctg`.`sections` (
`id` INT NOT NULL,
`day_of_week` VARCHAR(10) NULL DEFAULT NULL,
`tod` DATETIME NULL DEFAULT NULL,
PRIMARY KEY(`id`))
ENGINE = InnoDB DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci
我正在通过一个非常简单的 python 脚本将数据传播到表中
sqlstuff = "INSERT INTO sections(id,day_of_week,tod) VALUES (%s, %s, %s)"
records = [
(1,"Sunday",00.00),
(2,"Sunday",01.00),
(3,"Sunday",02.00),
(4,"Sunday",03.00),
(5,"Sunday",04.00),
(6,"Sunday",05.00),
]
db.executemany(sqlstuff, records)
# Ensure we commit the tables
mydb.commit()
# Close the database
db.close()
Python 脚本运行到 168 个 ID。可能是一种更快的方法,但我现在不在乎。 我尝试将 tod 格式化为 '01:00:00' 和上述格式,但我不断收到一条 SQL 错误,指出“日期时间值不正确。
我已经阅读了很多关于时间、日期时间、时间戳和 time_format() 的 MySQL 8 资料,但无法确定我需要在我的语句中插入我需要的 1 小时时隙的内容。
如果我需要更改 CREATE 表语句,我可以,因为这只是在我的测试设置中。我只需要一些关于我公然失踪的指针。
【问题讨论】:
标签: python mysql datetime sql-insert create-table