我對SQL很陌生,但試圖修正SQL-Query的輸出。然而,這個問題並不涉及這個bug,而是爲什麼SQLite3在它應該時不會產生錯誤。爲什麼SQLite3不會產生錯誤
我有查詢字符串,看起來像:
QueryString = ("SELECT e.event_id, "
"count(e.event_id), "
"e.state, "
"MIN(e.boot_time) AS boot_time, "
"e.time_occurred, "
"COALESCE(e.info, 0) AS info "
"FROM events AS e "
"JOIN leg ON leg.id = e.leg_id "
"GROUP BY e.event_id "
"ORDER BY leg.num_leg DESC, "
"e.event_id ASC;\n"
)
這將產生沒有錯誤的輸出。
我不明白爲什麼當我GROUP BY e.event_id和e.state和e.time_occurred不包含聚合函數並且不是GROUP BY語句的一部分時沒有錯誤?
e.state是一個字符串列。 e.time_occurred是一個整數列。
我在Python中使用QueryString。
這是SQLite和MySQL的「特性」。在MySQL中,您可以使用服務器中的嚴格模式設置進行更正。也許在SQLite中也是如此... –
好的......你能詳細說明這個功能的預期系統行爲嗎? – Orpedo