sql设置自增 | sql设置自增后删除一行不连续

sql设置自增 | sql设置自增后删除一行不连续

1. sql设置自增后删除一行不连续

表名tableA,字段uid,你试试这个 select top 1 rank_no from(select uid,rank()over (order by uid)as rank_no from tableA) tmp where uid<>rank_no order by rank_no

2. 怎样连续删除表格中的不连续行

1、选中一列,里面有大量空行标记。。 2、点击开始选项卡,在编辑功能组单击排序和筛选下面的小箭头,选择筛选。 3、点击姓名单元格内的箭头,去掉全选前面的勾 4、移动滚动条到最下方,勾选空白。 5、选择筛选出来的空行,点鼠标右键--删除行。 6,重复第二部操作,取消筛选。即可得到结果。

3. sql删除重复行,保留一行,没有主键

1,完全相同的数据,需要先区分出每条数据才能进一步操作。添加自增长列以用编号区分不同的数据行。

altertable表名addidintidentity(1,1)--添加自增长列id2,根据编号删除数据deletefromtableawhereidnotin(selectmax(id)fromtablewhereba.col1=b.col1anda.col2=b.col2)--保留相关数据行中,编号最大的数据行3,删除自增长列altertable表名dropcolumnid--删除临时增加的自增长列

4. mysql主键自增删除一行怎么连续

仅仅只定义 AUTO_INCREMENT 是无法处理的。

mysql> CREATE TABLE tab (

-> id INT AUTO_INCREMENT,

-> val VARCHAR(10)

-> );

ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key

错误信息也说得很明白了.

只有一个 自动递增的, 并且必须定义 KEY

5. sqlserver去掉自增

  处理方法:   

1、用BACKUP LOG database WITH NO_LOG清除日志   把数据库属性中的故障还原模型改为“简单”可以大大减慢日志增长的速度。

  用BACKUP LOG database WITH NO_LOG命名后,会截断不活动日志,不减小物理日志文件的大小,但逻辑日志会减小,收缩数据库后会把不活动虚拟日志删除来释放空间,不会损坏数据。  如果日志被截断并收缩数据库后,就不能直接用最近的一个全库备份做时间点还原,建议立即备份数据库,以防万一。  

2、sql server运行中,删除主数据库事务日志文件,步骤如下:   (1)、分离数据库管理器-数据库-右击要删除日志的数据库-所有任务-分离数据库   (2)、然后删除日志文件   (3)、然后再附加数据库   企业管理器-数据库-右击数据库-所有任务-附加数据库时只附加mdf.   

3、压缩SQL数据库及日志的详细方法   可以在数据库属性选项中选择“Auto shrink”选项,让系统自动压缩数据库,也可以用人工的方法来压缩。

tag:自增删除设置连续主键

相关内容