乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      SQL 已更新或刪除的行值要么不能使該行成為唯一行(sqlserver中有多行所有的列重復(fù)的數(shù)據(jù),無法更新或刪除問題)

       昵稱13847152 2013-09-11

      sqlserver中多行所有數(shù)據(jù)重復(fù),無法更新或刪除問題,通常是在沒有主鍵的情況下的表.

      錯誤:

       

      先確認一下表中有沒有主鍵,要是沒有就得使用臨時表來實現(xiàn)刪除重復(fù)的行。方法一:
      DELETE FROM 表名 WHERE 主鍵字段名 IN(
      SELECT MAX(主鍵字段名) AS 主鍵字段名 FROM 表名 GROUP BY 其他字段 HAVING COUNT(1)>1)

      方法二:
      SELECT 字段列表  INTO #T FROM 表名 GROUP BY 字段列表
      --先刪除原來的數(shù)據(jù)表,再插入不重復(fù)的語句
      TRUNCATE TABLE 表名
      INSERT INTO 表名 SELECT * FROM #T
      DROP TABLE #T

       

      示例:

      方法一:

      delete from tab_test2 where id=(select max(id) from tab_test2  group by id,uid having count(1)>1)

       

      方法二:注意:#t是臨時表,在tempdb數(shù)據(jù)庫中的臨時表節(jié)點下可以找到,sqlserver服務(wù)重啟就會消失的表.

      select id,uid into #t from tab_Test2 group by id,uid

      truncate table tab_Test2

      insert into tab_Test2 select * from #t

       

      msdn:

      在進行SQL數(shù)據(jù)庫維護時,發(fā)現(xiàn)有幾行記錄明顯有錯誤卻刪除不了,一執(zhí)行刪除命令就提示“已更新或刪除的行值要么不能使該行成為唯一行,要么改變了多個行(X行)?!北憩F(xiàn)為在:數(shù)據(jù)庫中出現(xiàn)了重復(fù)的鍵值或數(shù)據(jù),當(dāng)試圖刪除時錯誤提示信息就出來了。建立的幾個表都沒有關(guān)鍵字,設(shè)置好關(guān)鍵字后問題解決。

      微軟的官方網(wǎng)站對此問題也有說明,BUG: 您可能會收到當(dāng)您嘗試使用 SQL Server Management Studio 更新 SQL Server 2005 中的表的行時 微軟給了個替代方法:要變通解決此問題,創(chuàng)建 SQL Server Management Studio 中的在新的查詢窗口。 然后,運行 SQL UPDATE 語句更新表中的行。

      方法一:

      1、單擊SQL  Server  Management Studio工具欄上的“新建查詢”按鈕,然后按照提示登陸要修改的數(shù)據(jù)表所在的數(shù)據(jù)庫

      2、然后會在數(shù)據(jù)庫的編輯窗口彈出一個可以執(zhí)行SQL語句的窗口,在該窗口輸入以下SQL語句

      delete      數(shù)據(jù)庫名.表名     where    要刪除的字段名 =     '字段值'

      例如:delete pyj_db.dbo.Cellphone_related where Cellphone_Num = '111'

       


      方法二:

      其實利用INSERT INTO 做一些小的變換,這個問題就可迎刃而解了,具體步驟如下:

      先將原用的表做個備份,根據(jù)條件將滿足條件的數(shù)據(jù)導(dǎo)到新的表來,再將原表清除,最后將備份表中的數(shù)據(jù)select過來即可。

      第一步:在備份表中導(dǎo)入需要的數(shù)據(jù)

      INSERT INTO DataFile_backup
      select * from DataFile where year(consumedate)=條件

      第二步:清除原表中的數(shù)據(jù)

      Delete from DataFile

      第三步:從備份表中導(dǎo)入數(shù)據(jù)

      select * from DataFile

       

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多