Как гласит заголовок, я пытаюсь вставить дату (отформатированную в виде строки) в базу данных SQLite.Это работает, однако дата не отображается правильно в SQLite.
Вот подмножество моего кода:
print("Connecting to the database...")
sqlite_file = './sqlite_db/cfr_changes.db'
conn = sqlite3.connect(sqlite_file)
c = conn.cursor()
today_date = datetime.now().strftime("%Y-%m-%d")
print(today_date)
print("Inserting tracker into database...")
c.execute("INSERT INTO DATE (`date_id`) VALUES(" + today_date + ")")
c.executemany("INSERT INTO TRACKER (`cfr_status`, `comment`, `mdu`, `iwb`, `obsolete`, `date_id`) VALUES(?,?,?,?,?, " + today_date + ")", list(tracker_df.to_records(index=False)))
#print(c.fetchall())
conn.commit()
conn.close()
Печать 'today_date' возвращает то, что я ожидал:
2018-10-24
Однако, когда я проверяю записи в SQLite через терминал, дата отображается как:
1984
Обратите внимание, что date_id - это VARCHAR (255), и форматирование даты должноне будет проблемой.Я думаю, что это просто строка, хранящаяся в строке (или достаточно близко).
Может кто-нибудь сообщить мне, почему это не работает, как ожидалось?
Для справки, вот какбыли созданы таблицы «TRACKER» и «DATE»:
CREATE TABLE `DATE` (
`date_id` VARCHAR(255) NOT NULL PRIMARY KEY);
CREATE TABLE `TRACKER` (
`tracker_id` INTEGER NOT NULL PRIMARY KEY,
`cfr_status` VARCHAR(255) NOT NULL,
`mdu` BOOLEAN, `iwb` BOOLEAN,
`obsolete` BOOLEAN, `comment` VARCHAR(255), `date_id` VARCHAR(255) NOT NULL, FOREIGN KEY (`date_id`) REFERENCES DATE(`date_id`));
Любая помощь приветствуется.