Ⅰ 如何通过sql语句为某个已有字段添加自增属性
mysql>;
QueryOK,1rowaffected(0.23sec)
Records:1Duplicates:0Warnings:0
mysql>showcreatetablett;
+-------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
|Table|CreateTable
|
+-------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
|tt|CREATETABLE`tt`(
`id`int(11)NOTNULLDEFAULT'0',
`Field1`varchar(255)DEFAULTNULL,
PRIMARYKEY(`id`)
)ENGINE=InnoDBDEFAULTCHARSET=utf8|
+-------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
1rowinset(0.02sec)
mysql>_increment;
QueryOK,1rowaffected(0.20sec)
Records:1Duplicates:0Warnings:0
mysql>select*fromtt;
+----+--------+
|id|Field1|
+----+--------+
|1|中国人|
+----+--------+
Ⅱ 在SQL中怎样自动生成一个字段并字段值自动增加!!
用触发器,每次添加纪录的时候触发,查询整个表格,找出最大值+1,变成这个字段的值。呵呵,浪费时间!
用GUID的类型作为主键就不会重复了,默认值用newid(),这样也不好啊!主键的值是默认值提供的话,你的程序必须要刷新以后才能继续修改这个纪录。我一般的做法,在程序中用coCreateGUID生成一个GUID填写进去,然后post这个新纪录,不让SQL Server的默认值发挥作用,这样不用刷新就可以继续修改这个新纪录。要知道刷新会很慢的!
Ⅲ 如何在sql server创建表的时候设置自动增加字段
这个你可以在触发器里面实现!在设计阶段是无能为力的,你要控制的是非自增字段,而自增字段必须是唯一的,所以不是你理解的那样的自增字段。
你需要在插入PID,Y字段时候查询PID=1的最大个数,然后再更新到X字段即可;
你先熟悉下触发器的用法,然后理清思路,在inserted之后,更新
X=select
count
from
表
where
PID=Inserted.PID
Ⅳ sql server中如何实现自增字段
1、主键自增,以及建表的语句如下:
CREATE TABLEIF NOT EXISTS `t_email_notice` (
`id` INT (11) UNSIGNED NOT NULL AUTO_INCREMENT,`send_time` INT (16) NOT NULL DEFAULT '0',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
其中 `id` INT (11) UNSIGNED NOT NULL AUTO_INCREMENT,这句话表示设置id字段字增,类型为int
2、varchar类型的主键,不会自增。但是你可以通过创建触发器的形式,来实现自增。代码如下:
CREATE TRIGGER `T` BEFORE INSERT ON `user`FOR EACH ROW begin
set new.id=concat('SH',lpad(((SELECT substring(id,3,4) from user where id=(select id from user order by id desc limit 1))+1),4,0));
end;
这段语句的意思是,当user表中新插入一条一条语句,会触发‘触发器T’将以’SH‘开头的id字段自增+1。
(4)sql字段自加扩展阅读
sql语句建表规则如下:
create table ‘表名’ (‘字段1’ type1 [not null] [primary key] identity(起始值,递增量),‘字段2’type2 [not null], ...)--primary key为主键 identity表示递增数量。
Ⅳ sql server建表时怎么设置ID字段自增
建立一个叫testtable的表,2个字段,第一字段id,第二字段name。
设置自增:IDENTITY(1,1)
,从1开始,每次自增1
CREATE
TABLE
testtable(
id
[int]
IDENTITY(1,1)
NOT
NULL,
name
[nvarchar](255)
NULL
)
ON
[PRIMARY]
Ⅵ 如何在Sql查询语句中加上一个自增字段
SqlServer中的自增的ID的最后的值:
SELECT SCOPE_IDENTITY() --返回插入到同一作用域中的 IDENTITY 列内的最后一个 IDENTITY 值。
SELECT @@IDENTITY --返回插入到当前会话中任何作用域内的最后一个 IDENTITY 列值
SELECT IDENT_CURRENT('TbName')--不受作用域和会话的限制,而受限于指定的表。
IDENT_CURRENT 返回为任何会话和作用域中的特定表所生成的值。
一个作用域就是一个模块——存储过程、触发器、函数或批处理。因此,如果两个语句处于同一个存储过程、函数或批处理中,则它们位于相同的作用域中。
SQL可以多个语句一起执行:
insert into ... ; SELECT SCOPE_IDENTITY() ;
二条一起执行,到时可获取第二个SQL的值
Ⅶ SQL如何添加字段
增加字段: alter table [表名] add 字段名 smallint default 0 增加数字字段,整型,缺省值为0。
alter table [表名] add 字段名 int default 0 增加数字字段,长整型,缺省值为0。
alter table [表名] add 字段名 single default 0 增加数字字段,单精度型,缺省值为0。
alter table [表名] add 字段名 double default 0 增加数字字段,双精度型,缺省值为0。
alter table [表名] add 字段名 Tinyint default 0 增加数字字段,字节型,缺省值为0。
alter table [表名] add 字段名 text [null] 增加备注型字段,[null]可选参数。
alter table [表名] add 字段名 memo [null] 增加备注型字段,[null]可选参数。
alter table [表名] add 字段名 varchar(N) [null] 增加变长文本型字段大小为N(1~255)。
alter table [表名] add 字段名 char [null] 增加定长文本型字段大小固定为255。
(7)sql字段自加扩展阅读
全局变量
全局变量是sql server(WINDOWS平台上强大的数据库平台)系统内部使用的变量,其作用范围并不局限于某一程序,而是任何程序均可随时调用全局变量通常存储一些sql server(WINDOWS平台上强大的数据库平台)的配置设定值和效能统计数据。
用户可在程序中用全局变量来测试系统的设定值或Transact-SQL命令执行后的状态值。有关sql server(WINDOWS平台上强大的数据库平台) 全局变量的详细情况请参见附录。
注意:全局变量不是由用户的程序定义的,它们是在服务器级定应义的。只能使用预先说明及定义的变局变量。引用全局变量时,必须以“@@”开头。局部变量的名称不能与全局变量的名称相同、否则会在应用中出错。
Ⅷ sql字段自动加1问题
Select (Select max(A) From ta)+row_number() over(order by B) As A,B From tb
--A表的最大值+B表的记录号(SQL2005或以上版本)
Ⅸ sql server建表时怎么设置ID字段自增
在用sql语言建表的时候,用sql语句将自增写入代码中。
语句创建
create table table
name(id int identity(1,1),
其他字段
)
Ⅹ sqlserver2005 将字段设置为自增
自增列不能直接修改,必须将原有ID列删除,然后重新添加一列具有identity属性的ID字段。比如你要修改的字段名为ID:
alter
table
表名
drop
column
ID
alter
table
表名
add
ID
int
identity(1,1)