用MySQL替换BLOB文本中的单词

Rép*_*pás 7 mysql select replace blob

我有一个巨大的mysql表(称为tcountriesnew)和一个列(称为slogen, blob type).在每个slogenblob中,我想替换一个单词,例如:bananato apple.

不幸的是,我试图用单词banana打印所有行,但它不起作用.

select * from tcountriesnew where slogen like '%banana%';

请帮我.

  • 我错过了什么,我的查询有什么问题?
  • 如何替换blob中的文本?

Nux*_*Nux 8

在选择中取决于"替换"节目的意思:

select replace(slogen, 'bananas', 'apples') from tcountriesnew where slogen like '%bananas%';
Run Code Online (Sandbox Code Playgroud)

或者更新表格中的数据:

update tcountriesnew set slogen=replace(slogen, 'bananas', 'apples') where slogen like '%bananas%';
Run Code Online (Sandbox Code Playgroud)

BTW.你为什么blob用于文字?您应该使用texttype作为文本数据和blob二进制数据.

  • 在某些情况下,需要保存文本 BLOB。就我而言,无论出于何种原因,Drupal 7 开发人员都选择对所有 TEXT 列使用 blob - 通常这是开发人员无法控制的。 (2认同)