我有一個MySQL表看起來像這樣搜索:保存在MySQL領域陣列和在該領域
id
some_field1
some_field2
variable_fields
datetime
...
現在我想在variable_fields存儲超過1倍的值是這樣的:
user_id:5;message_id:10
爲什麼我不爲每個想要存儲的值創建單獨的字段,原因是這些值在整個項目中有所不同。所以我在項目中存儲了不同的值。 在一段時間variable_fields
包含此值:
user_id:5;message_id:10
而在其他一些時候它所含的這個值:
car_id:56;payment_id:45
這不會是一個大問題,但我希望能夠在搜索這個領域。所以像這樣:variable_fields LIKE '%payment_id:45%'.
這顯然需要時間的MySQL ..是否有另一種方式來處理,而不是爲每個值創建一個字段?那麼mysql中的某種動態字段?
我很高興爲您提供各種幫助。先謝謝你!
最好的問候,
弗雷迪
對我來說,聽起來你不想每個字段都有一張表,而是一個全新的表,其中包含一個「父類型ID」的「類型」和「ID」,它是與其相關的行的ID在你當前的表格中。通過這種方式,您可以通過Type和/或Parent ID'(SELECT FROM newtable WHERE Type ='user_id'和ParentID = $ ID)''輕鬆獲取用戶ID或汽車ID等。存儲數組的值是完全可能的,但通常被認爲是不好的數據庫設計,因爲它極大地增加了代碼的複雜性,同時阻礙了數據庫的性能。 – MatthewMcGovern 2013-04-22 09:53:57