0
我有一個存儲對象屬性的表。每個屬性在表中都有它自己的行,並且它引用另一個表中的對象ID。屬性目前是布爾類型(0),數字(1)或自由文本(2),它們存儲單個值。列中的不同數據類型
問題是,我該如何確定哪一行是哪一種?屬性表是否有一個名爲type
的列,然後將該值存儲在單獨的TEXT
列中,或者可能將該值存儲爲JSON對象?有沒有一個好的解決方案呢?我相信我在這裏擔心的是保存數據類型,如果數據存儲在TEXT
列中,則可能難以處理。
我的直覺告訴我,將類型和值存儲在JSON對象中將成爲這裏的一種方式。
對象表:
id | name
-----+-----
123 | abc
思路屬性表:
id | object_id | type | data
----+-----------+------+-------
1 | 123 | 1 | 123.12
2 | 123 | 0 | f
的屬性表的其他想法:
id | object_id | type | data
----+-----------+-----------------------
1 | 112 | 1 | {value:123.12}
2 | 112 | 0 | {value:false}
'pg_typeof(column_name)'會告訴你類型 –
我想在單個列中存儲不同類型的數據並保留它們的數據類型,所以我不認爲'pg_typeof()'會幫助我。我編輯了標題以更好地描述我的問題。 – Nysten
然後考慮使用json數據類型而不是文本 –