我想用多个值更新“markes_category_in”,例如“9”和“3”。
UPDATE `rx000437_info`.`markers`
SET `markers_category_id` = '9 , 3'
WHERE `markers`.`markers_id` =25;
有什么想法吗?
最佳答案
我认为您需要重组您的数据库。在一个字段中拥有多个值是不好的做法,除非您真的、真的需要一个非规范化的表。
像这样的东西会表现得更好:
标记
markersID | otherField
-----------|------------------
25 |
26 |
标记类别
markersID | markersCategoryID
-----------|------------------
25 | 9
25 | 3
26 | 10
26 | 15
26 | 18
您可以像这样进行多次插入:
INSERT INTO MarkersCategories (markersID,markersCategoryID) VALUES (25,31),(25,32);
更新
如果你真的只是想要一个逗号分隔的列表并且需要在列表的末尾添加一个值,请尝试:
UPDATE markers
SET markers_category_id = CONCAT(markers_category_id, ', 9')
WHERE markers_id = 25;
关于mysql - mysql中同一字段中的多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20613457/