iT邦幫忙

0

請問關聯資料庫的問題,以及輸出日期的格式建議

請教各位大大關聯式資料庫用datetime 當關聯合理嗎?

小弟正在研究舊系統的資料庫架構,正在猜他到底是用甚麼去做關聯,
但是目前看到唯一可能性是時間?
所以想請教各位大大會有人用datetime關聯嗎?

另外想再請教一件事~就是輸出的api日期格式GOOGLE很多資料

假設資料偏向需要完整時間 日期以及時間 會推薦使用 使用ISO-8601格式 還是 timestamp 有些人說 timestamp,但我看fb api都是使用ISO-8601格式

假設內容只需要 2019/03/07 日期那麼也是依樣ISO-8601格式 或 timestamp 嗎?

小魚 iT邦大師 1 級 ‧ 2019-03-07 13:20:34 檢舉
沒用過DateTime做關聯,這蠻有創意的.
slime iT邦大師 1 級 ‧ 2019-03-08 10:34:55 檢舉
有購物網站做過, 出現的狀況是兩個人剛好同一個 timestamp 送出訂單, 造成該張訂單異常.
Victor iT邦新手 4 級 ‧ 2019-03-08 11:05:32 檢舉
謝謝小魚大大 以前的版本沒有 外鍵 在裡面,所以我在猜哈哈哈
slime大大 我再去建議多加一欄id避免這件事! 謝謝
0
純真的人
iT邦高手 1 級 ‧ 2019-03-07 11:59:29
最佳解答

datetime當關聯,這個我沒這麼做..只能拿來記錄時間..
timestamp是看廠商要求(PHP愛好者)
不然自己開發APP的話,不用想那麼多~

Victor iT邦新手 4 級 ‧ 2019-03-08 11:00:53 檢舉

謝謝大大個建議 :)

1
theRookie
iT邦新手 5 級 ‧ 2019-03-07 13:47:46

所謂的關聯,就是這張表的某個欄位對應另外若干張表的某些欄位
也就是所謂的關聯
一對一
一對多

今天你拿dateTime做了關聯鍵
如果這個時間有同時兩筆近來
一般框架APP跟DB會建立一個session
寫完之後commit進資料庫,斷開 鎖鏈 session
那麼就有可能這個unix時間同時兩筆資料,即便你是用到timestamp
資料的鍵值可能就會發生問題

也就是
多對一的情況發生

好,第一個問題回答完了

第二個問題就要看原PO公司用甚麼語言
把東西寫進資料庫了
向小弟寫的是java那麼UTC時間格式就是首選
大部分程式也適用UTC的時間格式也就是timestamp存進去那樣

程式就不需要在特別去轉,因此建議原PO不要花式設計讓工程師加班寫那幾行

看更多先前的回應...收起先前的回應...

MSSQL資料庫的timestamp時間類型被微軟否決移除了...
走ASP語系的應該都不知道timestamp...

theRookie iT邦新手 5 級 ‧ 2019-03-07 19:36:26 檢舉

窩喔喔喔喔
感謝大德糾正

Victor iT邦新手 4 級 ‧ 2019-03-08 11:01:16 檢舉

謝謝兩位大大!感謝~

theRookie iT邦新手 5 級 ‧ 2019-03-08 21:36:43 檢舉

如果給個like我會很感謝的XDD

0
賽門
iT邦超人 1 級 ‧ 2019-03-09 14:22:56

datetime欄位作關聯,好問題,為什麼幾乎很少系統這麼做?多半是另外弄個ID欄位來關聯?
因為datetime欄位時間單位多是毫秒,也就是千分之一秒,拿Datetime來關聯的結果是,關聯不到資料吧。

我要發表回答

立即登入回答