簡體   English   中英

更新mysql中的逗號值

[英]update comma values in mysql

我在mysql中有一個產品表,其中一個字段(屬性字段)包含逗號值,例如attibutes_1,attibutes_2等。在我的表單中,我有一個復選框foreach屬性用於我的產品,像這樣的html

<input type="checkbox" value="attributes_1" name="attributes[$id][]">
<input type="checkbox" value="attributes_2" name="attributes[$id][]">

我的問題是,...如何更新這些屬性值? 如果嘗試爆破

  $coma_values = implode(',',$_POST['attributes'][$id]);

並將其更新到表格中,但有時效果不理想。 請幫我更好的解決方案

您需要一個單獨的屬性表,然后用id字段鏈接這兩個表。

table 1:
id, somedata1, somedata2

table 2:
id, table1_id, attribute_name, attribute_value

或類似的東西。 table1_id將具有與第一個表中的匹配ID相關的值。 這樣,您可以在記錄和屬性之間建立一對多關系。 這將使您可以對JOIN使用查詢,以從一個結果集中的兩個表中提取數據。 您永遠不要將逗號分隔的值存儲在一個字段中。

如果您通過將多個數據組合到一個列中而違反了基本的關系數據庫理論,那么您將永遠無法獲得完美甚至完美的解決方案。 由於您沒有說明實際問題是什么,因此沒有人可以幫助您解決問題,但是我猜測這應該是單個表達式中包含的逗號,否則將超出字段長度。

解決方案是使用數據表的主鍵將那些屬性存儲在一個或多個與主數據表相關的子表中。 為了更好地了解如何執行此操作,您必須指定屬性中確切存儲的內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM