在表中插入一个字段,直接赋值,sql语句怎么写呢?

时间:2022-08-23 15:04:41
标tablea,我要插入一个字段是abc
现在的要求是,插入字段后,用sql语句,让abc这个字段,根据表中现有的记录如1000条记录,从第一条记录开始,1001开始累加

tablea

id                                            abc
1                                             1001
2                                             1002
3                                              1003
……
1000                                       

要求用sql语句来执行,1000是举例,也就是说标tablea 可能有不确定总共多少记录,从第一条记录开始,字段abc累加,加到最后一条记录为止

这个可以实现吗?

10 个解决方案

#1


不是求和。
就是在表中的每一条记录字段abc,都要累加,加到最后一条记录位置,有点像字段 ID自动编号

#2


不好意思,还是没理解你的意思

#3


引用 2 楼 qq_32040513 的回复:
不好意思,还是没理解你的意思




以下要求全部基于sql语句实现
表tablea,插入一个新字段,字段名叫abc。表中已保存有若干条记录,要求是,这个新插入的字段abc,从表中存在的第一条记录开始到最后一条记录,插入文本,文本内容是从表tablea中的第一条记录设置字段abc内容为1001开始, 第二条记录就是1002,第三条1003,依次类推,一直到最后一条记录,保证新插入的字段abc在表中现有的每一条记录不能为空

确实有点复杂,难以表述…………

#4


怎么去表达呢……

就是表tablea中有其他字段,假定有1000条记录,这个其他字段内容都不用管,现在要插入一个新字段abc,在从1至1000的每一条记录对应的abc字段,都要插入内容。但是内容有特定要求,就是从第一条记录字段abc用1001开始编号,第二条,第三条……都比之前一条记录字段abc对应的内容要+1,比如id=1的字段abc内容是1001,第二条字段abc内容是1002……一直插入内容到最后一条记录为止

#5


update tablea set abc=(select count(*)+id from tablea)

#6


引用 5 楼 darlingbee 的回复:
update tablea set abc=(select count(*)+id from tablea)


这么简单?那能否从自定义的比如1001开始呢?也就是说不要从1开始行吗?  第一条记录就是1001

#7


引用 5 楼 darlingbee 的回复:
update tablea set abc=(select count(*)+id from tablea)


测试了下,好像字段内容都是一样的……

#8


似乎用一句sql语句无法实现……

#9


引用 7 楼 qq_30660917 的回复:
Quote: 引用 5 楼 darlingbee 的回复:

update tablea set abc=(select count(*)+id from tablea)


测试了下,好像字段内容都是一样的……
update tablea set abc=(select count(*) from tablea)+id

#10


引用 9 楼 darlingbee 的回复:
Quote: 引用 7 楼 qq_30660917 的回复:

Quote: 引用 5 楼 darlingbee 的回复:

update tablea set abc=(select count(*)+id from tablea)


测试了下,好像字段内容都是一样的……
update tablea set abc=(select count(*) from tablea)+id


找个可以,如果支持前面第一个数字自定义就更好了,非常感谢!!

#1


不是求和。
就是在表中的每一条记录字段abc,都要累加,加到最后一条记录位置,有点像字段 ID自动编号

#2


不好意思,还是没理解你的意思

#3


引用 2 楼 qq_32040513 的回复:
不好意思,还是没理解你的意思




以下要求全部基于sql语句实现
表tablea,插入一个新字段,字段名叫abc。表中已保存有若干条记录,要求是,这个新插入的字段abc,从表中存在的第一条记录开始到最后一条记录,插入文本,文本内容是从表tablea中的第一条记录设置字段abc内容为1001开始, 第二条记录就是1002,第三条1003,依次类推,一直到最后一条记录,保证新插入的字段abc在表中现有的每一条记录不能为空

确实有点复杂,难以表述…………

#4


怎么去表达呢……

就是表tablea中有其他字段,假定有1000条记录,这个其他字段内容都不用管,现在要插入一个新字段abc,在从1至1000的每一条记录对应的abc字段,都要插入内容。但是内容有特定要求,就是从第一条记录字段abc用1001开始编号,第二条,第三条……都比之前一条记录字段abc对应的内容要+1,比如id=1的字段abc内容是1001,第二条字段abc内容是1002……一直插入内容到最后一条记录为止

#5


update tablea set abc=(select count(*)+id from tablea)

#6


引用 5 楼 darlingbee 的回复:
update tablea set abc=(select count(*)+id from tablea)


这么简单?那能否从自定义的比如1001开始呢?也就是说不要从1开始行吗?  第一条记录就是1001

#7


引用 5 楼 darlingbee 的回复:
update tablea set abc=(select count(*)+id from tablea)


测试了下,好像字段内容都是一样的……

#8


似乎用一句sql语句无法实现……

#9


引用 7 楼 qq_30660917 的回复:
Quote: 引用 5 楼 darlingbee 的回复:

update tablea set abc=(select count(*)+id from tablea)


测试了下,好像字段内容都是一样的……
update tablea set abc=(select count(*) from tablea)+id

#10


引用 9 楼 darlingbee 的回复:
Quote: 引用 7 楼 qq_30660917 的回复:

Quote: 引用 5 楼 darlingbee 的回复:

update tablea set abc=(select count(*)+id from tablea)


测试了下,好像字段内容都是一样的……
update tablea set abc=(select count(*) from tablea)+id


找个可以,如果支持前面第一个数字自定义就更好了,非常感谢!!