急关于update的有关问题
急啊!~~关于update的问题
有表A
id path
----------------
s1 qwerxio
s2 uipxkl
s3 hjlxkhf
s4 cvbmndfhu
s5 sdexyhn
其中path字段是CHAR型,path中的每个字母最多只会在内容中出现一次
现需要更新s1,s3,s5三条记录的path字段,使其内容中的'x'字母前的内容更新为'12345','x'字母及其后的内容保持不变
即更新后,s1,s3,s5的path内容为:
id path
----------------
s1 12345xio
s3 12345xkhf
s5 12345xyhn
最坏的方法是分3条update语句,更新这三条记录
请问有没有更好的方法,可以提高update的效率呢? 包括在程序中进行字符串处理后在写入数据库的方法,只要效率高就可以了
急啊,请各位高手帮忙一下,非常谢谢!!!!!
------解决方案--------------------
update A set path=('12345'||right(path,length(path)-Locate('x',path)+1)) where id in ('s1','s3','s5')
有表A
id path
----------------
s1 qwerxio
s2 uipxkl
s3 hjlxkhf
s4 cvbmndfhu
s5 sdexyhn
其中path字段是CHAR型,path中的每个字母最多只会在内容中出现一次
现需要更新s1,s3,s5三条记录的path字段,使其内容中的'x'字母前的内容更新为'12345','x'字母及其后的内容保持不变
即更新后,s1,s3,s5的path内容为:
id path
----------------
s1 12345xio
s3 12345xkhf
s5 12345xyhn
最坏的方法是分3条update语句,更新这三条记录
请问有没有更好的方法,可以提高update的效率呢? 包括在程序中进行字符串处理后在写入数据库的方法,只要效率高就可以了
急啊,请各位高手帮忙一下,非常谢谢!!!!!
------解决方案--------------------
update A set path=('12345'||right(path,length(path)-Locate('x',path)+1)) where id in ('s1','s3','s5')