sql数据库如何追加字段内容

来源:百度知道 编辑:UC知道 时间:2024/06/28 05:02:08
一个sql数据库中有一个表dede_addonarticle,这个表中有一列叫body.现在body列中已经有内容,我现在想在已有内容后面加上新的内容,例:原有内容是"中国人民万岁"等,现在想在所有的记录后,都加上"世界人民大团结".
答案试用结果:
update dede_addonarticle set body=body||'世界人民大团结' where typeid=11

其中typeid是要修改内容的栏目id。执行结果无报错,但是实际更新后的内容变成0

补充2:表的结构如下:
CREATE TABLE `dede_addonarticle` (
`aid` int(11) NOT NULL default '0',
`typeid` int(11) NOT NULL default '0',
`body` mediumtext,
PRIMARY KEY (`aid`),
KEY `typeid` (`typeid`)
) ENGINE=MyISAM DEFAULT CHARSET=gbk

SQL Server专门提供了处理text,ntext,image字段的函数,是:TEXTPTR
TEXTVALID、READTEXT、UPDATETEXT、WRITETEXT

解决方法:

Declare @ptrval binary(16)  
SELECT @ptrval=TEXTPTR(content) from table Where id=@id  
UPDATETEXT table.content @ptrval null 0 @info  
--其中@info就是需要追加的字符串变量

说明:第二行加上条件 可以定位当前操作的是哪一条记录
@ptrval 后面的第一个参数(null):值为0 表示将新数据插入到现有位置的开始处。值为 NULL 则将新数据追加到现有数据值中。
@ptrval 后面的第二个参数(0):值为0 表示不删除数据。

值为 NULL 则删除现有 text 或 image 列中从 insert_offset 位置开始到末尾的所有数据。

这个好用.

update dede_addonarticle set [body] = [body] +'世界人民大团结'

update dede_addonarticle set body=body||'世界人民大团结' where body='中国人民万'

update dede_addonarticle set body='中国人民万岁,世界人民大团结' where body='中国人民万岁'

企业管理器—-选择表---右键(设计表)