пустое, а не должна, только id. Что делать? Примеры с Гугла такие же, как и у меня
UPDATE table SET answers=CONCAT_WS(',', answers, '$answer_id') WHERE id = $id
Если менять расположение запятой (в конце, в середине, или начале), то ничего не поменяется, она все равно запишется в поле
UPDATE table SET answers=RTRIM(CONCAT_WS(',', answers, '$answer_id'), ',')WHERE id = $id
Неа, не работает. Вообще ничего в бд не записывает
Значит, либо переменная $answer_id пустая, либо $id. Обращайтесь в чат https://t.me/phpGeeksJunior
Если бы они были пустые, или там было что-то не то, то тогда изначально ничего не записывалось. А так, только с вашим запросом не идёт запись в бд
Пустая строка, не null ? Покажите, что в колонке answers до запроса и что после
UPDATE table SET answers=TRIM(TRAILING ',' FROM CONCAT_WS(',', answers, '$answer_id'))WHERE id = $id
Вот и я, когда гуглил, всегда встречался TRIM а не RTRIM Теперь записывает, но записывает запятую перед id, если поле пустое
Замените TRAILING на BOTH
А вот теперь всё работает отлично. Спасибо большое, что помогли разобраться)
Пожалуйста🙂 ещё как вариант, написать свою функцию, которая будет работать как вам нужно (если пусто, то ничего не добавит и всегда не добавит в конце)
Это сложно для меня)
Обсуждают сегодня