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 user
set devid = trim(both ',' from replace(concat(',', devid, ','), ',1,', ','))
Extraído de (excluído): https://www.cnblogs.com/xiede/p/9369578.html