论坛首页 综合技术论坛

MySQL & MSSQL 中的自動增長字段的不同

浏览 6303 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-09-12  
表test中有一字段keyid  int 自增長類型
MySQL:
      在insert & update 的語句中
     
insert into test(keyid)values(100);
           update test set keyid = 101;


      上述語句可以正常執行!

MSSQL:
     
insert into test(keyid)values(100);
           update test set keyid = 101;
......

      上述情況就會出錯! 異常的信息大概意思是:在insert & update 語句中不能用到keyid(自動增長字段)!
      
      
Cannot insert explicit value for identity 
            column in table 'test' when IDENTITY_INSERT 
            is set to OFF.
      
........




第一次補充
       在MSSQL中產生上述錯誤。經我在網上一番搜掠之後! 是因爲我沒有把IDENTITY_INSERT 設為 ON .
     
   
引用
语法
SET IDENTITY_INSERT [ database.[ owner.] ] { table } { ON | OFF }

参数
database

是指定的表所驻留的数据库名称。

owner

是表所有者的名称。

table

是含有标识列的表名。


    不過可惜的是.我把IDENTITY_INSERT 設為 ON了,但是在insert數據時還是報同樣的錯誤!天啊!HELP ME~ME~ME!


第二次補充
     如果要把IDENTITY_INSERT 設為 ON生效! 就要在insert & update語句前執行!
在MSDN中找到:
        
引用
不論何時,工作階段中只能有一份資料表將

            IDENTITY_INSERT 屬性設為 ON。如果已有資料表的這個屬性設為 ON,又針對另一份資

             料表發出 SET IDENTITY_INSERT ON 陳述式,SQL Server 2005 會傳回一則錯誤訊

          息,指出 SET IDENTITY_INSERT 已設為 ON,且會報告設為 ON 所針對的資料表。

            如果輸入的值大於資料表目前的識別值,SQL Server 會自動利用新插入的值來作為目前的識別值。

SET IDENTITY_INSERT 的設定是在執行階段進行設定,而不是在剖析階段進行設定。



     當我打字打到這裡的時候.我突然想起我所說的已經偏離了我一開始所要講的.不過,無關係!我的BLOG,我話事!

      在MSSQL中所謂的顯式:

   
insert into test(keyid)values(100);
                   insert into test(keyid)values(0);
.....

    當keyid最大值是99時!平且沒有一條記錄keyid == 0;
    那麽這兩條語句將會成功插入!其中keyid == 100 & keyid == 0
  
   OK!我們將環境轉去MySQL:

insert into test(keyid)values(100);
             insert into test(keyid)values(0);
.....

     當keyid最大值是99時!平且沒有一條記錄keyid == 0;
   
     那麽這兩條語句將會成功插入!但是結果與MSSQL有所不同!
  
      執行完第一條語句時:將產生一條keyid == 100的紀錄.
    
     執行完第二條語句時:產生了一條keyid == 101的紀錄.

   
   发表时间:2006-09-13  
楼主的话事方式很不错,带有思考过程
当然,内容也不错
0 请登录后投票
   发表时间:2006-09-13  
引用

tianxinet    
楼主的话事方式很不错,带有思考过程
当然,内容也不错




多谢!因有你的支持我会骄傲...(不是,打错)..我会努力才对!
0 请登录后投票
   发表时间:2006-09-13  

楼主啲話事好叻啵

我识做嘞
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics