Lembre-se de como excluir um determinado caractere em um campo no MySQL

Descrição do Problema:

Problema: Ao modificar e excluir os caracteres especificados na string separada por vírgula no projeto, outros caracteres não podem ser usados.

Análise de causa:

A instrução SQL está incorreta. O terceiro parâmetro em replace() é omitido e é omitido. Forma errada de escrever:
    update 表名
    set 字段名= TRIM(BOTH ',' FROM replace(concat(',', 字段名, ','), #{传入的字符}, ''))

Em mybatis, o SQL dinâmico correto é o seguinte:

    update 表名
    set 字段名= TRIM(BOTH ',' FROM replace(concat(',', 字段名, ','), #{传入的字符}, ','))

ps: O caractere entrante é o caractere que precisa ser excluído. Deve-se observar que vírgulas precisam ser unidas antes e depois desse caractere. Caso o caractere 12 em devid na solução precise ser excluído, o caractere entrante deve ser: ',12, ' .


solução:

Depois de comparar o seguinte sql, foi encontrado um erro de sintaxe.
Como deletar um caractere em um campo no mysql
Se o nome da tabela for user, a tabela é a seguinte

eu ia davi
1 1,2,3,12,13,14

Para excluir o valor 1 no campo devid da tabela user, observe que 12, 13 e 13 não podem ser excluídos.

A sintaxe do sql é a seguinte:

update userset devid = trim(both ',' from replace(concat(',', devid, ','), ',1,', ','))

Extraído de (excluído): https://www.cnblogs.com/xiede/p/9369578.html

Acho que você gosta

Origin blog.csdn.net/qq_37196265/article/details/122062732
Recomendado
Clasificación