sql IN 的用法一例--替换 mysql longtext字段中某些内容的用法

之前给改版的一个学校里的站点突然提出要求,说需要将之前编辑的文章的字体大小全部改成默认值。

字体的控制无非有两种,一是font-size = 16 px;然后是<font size = 4>。但是,之前发布的文章,文字的控制是由编辑器生成的,而根据css的“靠近优先原则”,我们无法通过外层定义字体控制来影响已发布的内容——编辑器生成的字体控制更靠近文字!

总不能一篇一篇的改吧,,想了想之后,发现只需要将上述两种字体控制,删掉 font-size 和 size即可,这样,编辑器生成的字体控制就失效了,而我们在外层定义的字体控制规则起作用了。

下面是两个跟文章储存相关的表的结构,其中pa_article储存的是文章的相关信息,而pa_articletext储存的则是文章内容,其中外键是pa_article中的articleid。

pa_article:

 

字段

类型

整理

属性

默认

额外

articleid

int(10)

UNSIGNED

auto_increment

sortid

int(10)

UNSIGNED

0

title

varchar(100)

gb2312_chinese_ci

source

varchar(50)

gb2312_chinese_ci

NULL

author

varchar(50)

gb2312_chinese_ci

NULL

contact

varchar(50)

gb2312_chinese_ci

NULL

description

text

gb2312_chinese_ci

views

int(10)

UNSIGNED

0

     


pa_articletext:

字段

类型

整理

属性

默认

额外

id

int(10)

UNSIGNED

auto_increment

subhead

varchar(100)

gb2312_chinese_ci

articleid

int(10)

UNSIGNED

0

articletext

longtext

gb2312_chinese_ci

displayorder

tinyint(3)

1

 


故最后去mysql控制台或者phpmyadmin里执行sql语句是:

UPDATE pa_articletext SET articletext = replace(articletext,"font-size","") WHERE articleid IN (SELECT articleid FROM pa_article WHERE sortid =1)

上面语句的意思是,将pa_articletext中的articletext字段的内容去除"font-size" 之后存回,而需要执行的条目则用IN语句标识在后面的SELECT中选出。

需要注意的是replace语句对大小写敏感,因此,除了去除"font-size",还要再运行一遍去除“FONT-SIZE”,同理去除“size”和“SIZE”。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值