update
youtablename
set
content=content+"@"+newcontent
where
条件
其实的话,把所有的内容存到一个字段里说明你基本上是数据库设计有问题,比如字段 为id 每次让它自增1
id int IDENTITY(1,1) 这样就可以了
在后面的插入过程中 就不需要给这个字段赋值了 直接插入其他字段的值就可以
表a,里面没有标识列 里面有字段user,id,不清楚你说的到底有没有id列,你的具体表结构不清楚,下面做几个假设:
1、表中有自增列row:
select (select count() from table1 where [user]=t1[user] and row>=t1row) as id,[user] from table1 as t1
order by [user],id
2、表中没有自增列,但有其它列,其中有一列可以区分开每一行数据,假设为utime:
select (select count() from table1 where [user]=t1[user] and utime>=t1utime) as id,[user] from table1 as t1
order by [user],id
3、如果上面的都没有,就要利用临时表了,先把表中的数据存到临时表table1(临时表带自增列row),然后按1中的方法查询。
insert into manager (username,userpwd) values('kgdiwss1','250')可以改成
insert into manager (username,userpwd) values('kgdiwss' + @i ,'250')
就是这里啦 : 'kgdiwss1' 改成 'kgdiwss' + @i主键和主键的自动递增字段
每个表都应有一个主键字段。主键用于对表中的行(注:列表中的每一行)进行唯一标识。每个主键值(注:行)每在表中必须是唯一的。此外,主键字段不能为空,这是由于数据库引擎需要一个值来对记录进行定位。主键字段永远要被编入索引。这条规则没有例外。你必须对主键字段进行索引,这样数据库引擎才能快速定位给予该键值的行。下面的例子把
personid
字段设置为主键字段。主键字段通常是
id(注:idnetity的缩写,身份标识号码的意思)
号,且通常使用
auto_increment(注:increment,中文意思是增加的意思)
设置。auto_increment
会在新记录(注:)被添加时逐一增加该字段的值。要确保主键字段不为空,我们必须向该字段添加
not
null(注:不为空)
设置。
关系型数据库的特点在于多个表之间使用关系联系起来这样可以显著降低数据库的容量,并提高维护效率主键并不是必须的但是增加主键对单表查询的效率提升很高所以从原理上来说只要该字段绝对不会重复那么使用任何类型的字段,比如你上面所说的人名也是可以的但是如果考虑到与其它表的相互连接使用人名的可 *** 作性就不是很好所以,第一点,建议你另外增加一个自动编号的字段作为id,用来做主键第二点,关系型数据库的特点就是多表之间有冗余,但是实际上是降低了整个数据库的维护难度,鉴于你看起来对关系型数据库原理不清楚更建议你先把关系型数据库原理再看看
创建个表不熟悉,不但慢,还容易出错。并且不直观。真不知道为什么那么多的人喜欢这个玩意。难道就是速度快?安全性好吗?
主键是数据表的唯一索引。
1、建表的时候是这样设置的:
>>create
table
mytable
>>(
>>id
integer
unsigned
not
null
auto_increment,
>>title
varchar(20),key(id)
>>);
就这样,就可以建立主键了。
你使用:>>show
columns
in
mytable进行查看创建的列表
2、如果我们开始建表的时候没有设置任何字段为主键,那么,现在我们要添加一个主键或者说是要让一个字段变为自动编号,哪么该怎么办呢?
>>alter
table
myphpusers
>>modify
column
id
int
unsigned
not
null
auto_increment,
>>add
primary
key(id);
就这样,不但设置了自动编号,同时设置了主键。insert aa values (11)
insert aa values (12)
这样
还是insert aa values (11,12)这样
如果是前者,直接写for循环,后者的话先写循环将所有的写成一变量中,再insert
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)