[英]Invalid datetime format in python-mysql query
我想從數據庫中獲取一條記錄,該記錄的datetime
字段是主鍵的一部分。 我正在使用mysqldb package
從python
查詢,這導致錯誤
無效的日期時間格式
其中相同的查詢在通過命令行和 mysql 工作台執行時工作正常。
我的代碼看起來像這樣。
def get_all_list(table_name, modify_dt, params):
cursr = connections['default'].cursor()
stmt = 'select * from ' + table_name + ' where ' + params
cursr.execute(stmt)
data = cursr.fetchall()
params 是包含我的主鍵值的字符串。
例如
params is "join_date = '2016-09-08 00:00:00+00:00'"
我的最終查詢看起來與此類似
select * from employee where join_date = '2016-09-08 00:00:00+00:00'
執行時,同樣在 mysql 工作台中提供結果,而通過我的程序執行時,我收到錯誤消息
日期時間值不正確:第 1 行的“join_date”列的“2016-09-08 00:00:00+00:00”
日期格式應該是
'2016-09-08 00:00:00'
如果需要設置時區,則需要單獨的SQL查詢
set time_zone='+00:00';
另請參閱: 如何設置 MySQL 的時區?
如果您使用的是 django,您可以在設置文件中為整個應用程序設置 time_zone:
DATABASES['default'] = {
'ENGINE': 'your_db_engine',
'NAME': 'my_database',
'USER': 'username',
'PASSWORD': 'password',
'HOST': 'localhost',
'PORT': 3306,
'OPTIONS': {
"init_command": "SET storage_engine=InnoDB; set time_zone='+00:00';",
},
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.