Я хочу обновить «markes_category_in» с краткими значениями, например «9» и «3».Умножает значения в одном поле в mysql
UPDATE `rx000437_info`.`markers`
SET `markers_category_id` = '9 , 3'
WHERE `markers`.`markers_id` =25;
Любые идеи?
Я хочу обновить «markes_category_in» с краткими значениями, например «9» и «3».Умножает значения в одном поле в mysql
UPDATE `rx000437_info`.`markers`
SET `markers_category_id` = '9 , 3'
WHERE `markers`.`markers_id` =25;
Любые идеи?
Я думаю, вам нужно перестроить базу данных. Наличие нескольких значений в одном поле - это плохая практика, если вам действительно не нужно иметь де-нормированную таблицу.
Что-то, как это будет работать лучше:
Маркеры
markersID | otherField
-----------|------------------
25 |
26 |
MarkersCategories
markersID | markersCategoryID
-----------|------------------
25 | 9
25 | 3
26 | 10
26 | 15
26 | 18
Вы можете сделать несколько вставок, как это:
INSERT INTO MarkersCategories (markersID,markersCategoryID) VALUES (25,31),(25,32);
UPDATE
Если вы действительно просто хотите иметь разделенный запятыми список и нужно добавить значение в конец списка, попробуйте:
UPDATE markers
SET markers_category_id = CONCAT(markers_category_id, ', 9')
WHERE markers_id = 25;
Хорошо, это плохая практика, но ... работает? – user1706064
Хорошо, что вы собираетесь делать, когда вам нужно удалить 'marker_category_id' 9? Скажите, что у вас есть более быстрый метод, чем использовать 'DELETE FROM MarkersCategories WHERE markersCategoryID = 9'? – TheCarver
Изготовление дороги из картонных изделий, но это считается плохой практикой, потому что она длится недолго и не имеет никакого сцепления. – TheCarver
Сво bad pratice, поля должны содержать значение ONE. http://www.1keydata.com/database-normalization/first-normal-form-1nf.php – rray
но ... работает? Я не хочу дублировать маркер ... – user1706064
Хорошо, что вы собираетесь делать, когда вам нужно удалить 'marker_category_id' 9? – TheCarver