国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 數據庫 > SQL Server > 正文

SqlServer Mysql數據庫修改自增列的值及相應問題的解決方案

2024-08-31 01:03:39
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了SqlServer Mysql數據庫修改自增列的值及相應問題的解決方案的相關資料,需要的朋友可以參考下
 

SQL Server 平臺修改自增列值

由于之前處理過sql server數據庫的遷移工作,嘗試過其自增列值的變更,但是通過SQL 語句修改自增列值,是嚴格不允許的,直接報錯(無法更新標識列 '自增列名稱‘)。sql server我測試是2008、2012和2014,都不允許變更自增列值,我相信SQL Server 2005+的環境均不允許變更字段列值。

如果非要在SQL Server 平臺修改自增列值的,那就手動需要自增列屬性,然后修改該列值,修改成功后再手動添加自增列屬性。如果在生成環境修改自增列的話,建議在空閑時間(零點以后,平臺或網站使用的用戶很少的時間段)來處理這類問題。數據量大且多表關聯的,那就通過T-SQL來變更。該方法最大的缺點就是要通過手工輔助取消和添加自增屬性的。

還有一個方法,先將要修改的數據整理為T-SQL的插入腳本,再刪除這批要修改的數據,在通過顯示插入數據來實現。這種方式適用于要變更不較少的單表記錄,該方法到時比較靈活的。

更簡單的方法,那就是如果僅僅若干條,那就讓運營人員重新發布信息,刪除以前的數據。

還有網上通過修過T-SQL語句取消自增屬性,我在SQL Server 2005+環境測試均未通過,相應的T-SQL代碼如下:

EXEC sys.sp_configure@configname = 'allow updates', -- varchar(35)@configvalue = 1; -- intEXEC sys.sp_configure@configname = 'show advanced options' , -- varchar(35)@configvalue = 1; -- intRECONFIGURE WITH OVERRIDE;GOUPDATE sys.syscolumnsSET colstat = 1WHERE id = OBJECT_ID(N'PrimaryKeyAndIdentityUpdateTestDataTable', 'U')AND name = N'ID'AND colstat = 1;UPDATE sys.columnsSET is_identity = 0WHERE object_id = OBJECT_ID(N'PrimaryKeyAndIdentityUpdateTestDataTable', 'U')AND name = N'ID'AND is_identity = 1;

執行后的結果如下:

SqlServer Mysql數據庫修改自增列的值及相應問題的解決方案

MySQL 平臺修改自增列值

mysql平臺修改自增列值,有些麻煩的。mysql中存在自增列,如果其引擎是myisam,則該列可以為獨立主鍵列,也可以為復合主鍵列,即該列必須為主鍵的關聯列;如果其引擎是innodb,則該列必須是獨立主鍵列。要直接修改兩個自增列值對調變更,肯定是不行的。

我采用的方法是將兩個自增列值(比如1、2)分為以下三個步驟來實現:
1、先將自增列值為1的修改為0;
2、再將自增列值為2的修改為1;
3、再將自增列值為0的修改為2;

以下兩種數據引擎的測試環境均是mysql 5.6。

數據庫引擎為innodb的前提下,具體的mysql測試代碼如下:

drop table if exists identity_datatable;create table identity_datatable (id int not null AUTO_INCREMENT, name varchar(10) not null,primary key (id) ) engine=innodb,default charset=utf8;insert into identity_datatable (id, name)values (1, '1'),(2,'2');insert into identity_datatable (id, name)values (3, '3'),(4,'4');select *from identity_datatable;-- 直接修改不可行-- update identity_datatable-- set id = case when id = 1 then 2 when id = 2 then 1 end-- where id in (1, 2);update identity_datatableset id = 0where id = 1;update identity_datatableset id = 1where id = 2;update identity_datatableset id = 2where id = 0;select *from identity_datatable;

未修改前的數據表結果,如下圖:

SqlServer Mysql數據庫修改自增列的值及相應問題的解決方案

修改后的數據表結果,如下圖:

SqlServer Mysql數據庫修改自增列的值及相應問題的解決方案

注意:

1、采用了兩個數字進行交換的方法。
2、引入的中間值最好<=0的數字。
3、僅僅提供一種解決方法,也可采用sql server平臺的修改方法(1、先取消自增屬性后變更最后增加自增屬性,2、整理T-SQL腳本重新插入----小數據量時可以;3、運營人員手工重新添加,也是數據量小的情況下)。

數據庫引擎為myisam的前提下,具體的mysql測試代碼如下:

drop table if exists autoincremenet_datatable_myisam;create table autoincremenet_datatable_myisam (tid int not null,id int not null auto_increment,name varchar(20) not null,primary key(id)) engine = myisam, default charset = utf8;insert into autoincremenet_datatable_myisam (tid, id, name)values(1,1,'a'),(2,2,'b'),(3,3,'c'),(4,4,'d');select *from autoincremenet_datatable_myisam;update autoincremenet_datatable_myisamset id = 0;where id = 1;select *from autoincremenet_datatable_myisam;update autoincremenet_datatable_myisamset id = 1;where id = 2;select *from autoincremenet_datatable_myisam;update autoincremenet_datatable_myisamset id = 2;where id = 0;select *from autoincremenet_datatable_myisam;

注意:

1、以上測試中的變更不可行。

2、疑問“第一條update和其后面的select確實看到了修改后的值,但是隨后的sql繼續執行,均報錯卻又恢復了未修改之前的狀態“,這個還不清楚,需要繼續研究。

Oracle平臺的沒有接觸,不曉得,熟悉oracle平臺的博友針對其自增列的變更做個測試或給出個總結。



注:相關教程知識閱讀請移步到MSSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
h网址在线观看| 在线视频观看亚洲| av资源网站在线观看| 91中文在线| wwww在线观看免费视频| 免费国产阿v视频在线观看| 国产在线一二三区| 国产日韩欧美一区二区三区视频| 国产日产一区二区| 亚洲精品天堂在线观看| 黄色激情网址| 在线免费观看高清视频色| 最新中文字幕av专区| 91av福利| 超碰免费在线| 2018中文字幕在线| 秋霞av在线| 2021av天天| 国产精品一区二区三区高清在线| 国产精品你懂的在线观看| 日本欧美在线视频免费观看| 国产秀色在线www免费观看| av免费在线观看网站| 国产系列电影在线播放网址| 四虎成人欧美精品在永久在线| 高清视频一区二区三区四区| 2020中文字幕在线播放| 男人天堂99| 在线观看免费观看在线91| 国产专区在线播放| 亚洲欧美精品日韩欧美| 国产精品久久精品牛牛影视| 黄色av网址在线免费观看| 四虎久久影院| 精品免费视频一卡2卡三卡4卡不卡| 热99re久久精品精品免费| av人人综合网| 一区二区免费播放| 999福利在线视频| 国产精品666| 国产91在线视频蝌蚪| 国产小视频免费在线网址| 日本久久国产| 人xxxx性xxxxx欧美| 香蕉视频在线看| www.操操操| www.91在线播放| 亚洲www色| 免费不卡中文字幕视频| 欧美韩日国产| 久久99亚洲网美利坚合众国| a中文在线播放| 免费精品国产自产拍观看| 久久久久久国产视频| 久久综合第一页| 国产永久免费| 中文字幕一区二区三区免费视频| 国精一区二区三区| 最新黄网在线观看| 在线免费国产| 国产精品偷乱一区二区三区| 国产一级黄色大片| 中文字幕2019第三页| 亚洲永久免费网站| 黄网在线免费| 国产高清视频在线播放| av在线免费观看网| 中文字幕一区二区三区免费视频| √8天堂资源地址中文在线| 四虎网站在线观看| 国产美女在线免费观看| 精品亚洲综合| 欧洲亚洲精品视频| 国产精品美女一区二区视频| 97福利电影| 中文字幕专区| 麻豆网站在线免费观看| 中文字幕视频在线观看| 人成在线免费视频| 国产成人久久精品77777| 国产在线麻豆精品| 精品美女视频在线观看免费软件| 女子免费在线观看视频www| 国产精品186在线观看在线播放| h网址在线观看| 国产丝袜视频在线播放| av在线资源网| 国产一二三区在线| 青青草免费在线观看| 国产对白在线| 国产三线在线| 国产视频福利| 国产日韩欧美第一页| 国产男女av| 九九热视频在线观看| 在线观看免费观看在线91| 国产黄色大片在线观看| 国产一区二区影视| 国产精品午夜久久久久久| 久久久久久国产视频| 四虎精品视频| 超碰免费在线| 日本成人网址| 日韩a视频在线观看| 在线黄色国产电影| 亚洲永久免费网站| 人成在线免费视频| 九九热视频在线观看| 国产在线更新| 国产第一页在线视频| 午夜在线视频播放| 青青久草在线| 国产中文字幕在线播放| 国产中文在线观看| 国产高潮又爽又无遮挡又免费| 国产精品麻豆一区二区三区| 99精品老司机免费视频| 国产精品久久久久久福利| 国产激情自拍| 亚洲精品视频区| 天堂在线视频| 国产超级va在线视频| av免费网站在线观看| 麻豆av电影在线观看| 国产野外战在线播放| 影音av资源站| 国产永久免费高清在线观看| 国产成人精品综合网站| 青青草视频在线免费观看| 99视频免费在线观看| 99中文字幕一区| 国产女王在线**视频 | a视频在线观看免费| 免费在线黄色网址| 国产三区在线观看| 免费午夜一级| 91av福利| 国产免费电影网站入口| 一区二区精品区| 午夜国产在线| 在线免费看av| 日本最新在线视频| 91精品专区| 国产一级片在线播放| 久久精品无码一区二区日韩av | 国产精品自产拍在线网站| 精品免费视频一卡2卡三卡4卡不卡| 欧美日韩国产亚洲沙发| 国产porn在线| 国产精品麻豆一区二区三区| 久久国产精品黑丝| 在线免费日韩| 在线视频二区| 国产99在线|亚洲| 国产麻豆精品视频一区二区 | heisi视频网在线观看| 国产人成高清视频观看| 狠狠干天天爱| 免费a级毛片在线播放| 日本国产在线| www在线视频观看| 超碰在线网站| 国产免费黄网站| 尤物视频免费在线观看| 最新国产在线精品91尤物| 九九热在线观看视频| 国产美女在线一区二区三区| 免费视频二区| 福利视频在线看| 中文字幕在线免费看| 国产福利小视频在线| 精精国产xxxx视频在线中文版| 国产黄色高清在线| 亚洲综合在线网| 久久久久久久久免费视频| 六月天色婷婷| 国产写真视频在线观看| 精品国产免费观看一区| h网址在线观看| 高清av中文在线字幕观看1| 久草电影在线| 国产极品视频| 开心激情五月婷婷| 国产黄色片中文字幕| 日本综合一区二区三区| 最新黄网在线观看| www.中文字幕久久久| 国产网红在线| 欧美视频免费一区二区三区| 中文字幕在线免费| 四虎久久影院| 国产精品视频一区二区免费不卡| 99reav| 最近中文字幕mv免费高清在线| 国产成人亚洲欧美电影| 99色在线观看| 国产特级毛片| 天天操人人爽| 久久国产精品黑丝| 亚洲欧美综合乱码精品成人网 |