How do delete duplicate key row in mssql server?64-Bit OLEDB Provider for ODBC (MSDASQL) issuesSQL Server cluster instance restarted twice, need help digging through cluster logsQuery SQL Server from Excel with parameters linked to cellsiSeries Linked-Server SQL 2012 performance issueHow do I guarantee using Microsoft ODBC Driver 13 for SQL Server in a linked server?MS SQL Server 2000 ODBC driver for LinuxError while executing SSIS PackageLinked Server ODBC statement missing delimiters on reserved identifierSQL Server link to MySQL reports “using password: no”SQL Server 2014 and SQL Server 2016 side by side - SQL Server Logs missing

Where do 5 or more U.S. counties meet in a single point?

How could a civilization detect tachyons?

How is it believable that Euron could so easily pull off this ambush?

How can it be that ssh somename works, while nslookup somename does not?

Is there a reason why Turkey took the Balkan territories of the Ottoman Empire, instead of Greece or another of the Balkan states?

How do I politely tell my players to shut up about their backstory?

Is this strange Morse signal type common?

Light Switch Neutrals: Bundle all together?

Do these creatures from the Tomb of Annihilation campaign speak Common?

What is the Ancient One's mistake?

My parents are Afghan

Why doesn't increasing the temperature of something like wood or paper set them on fire?

Was Mohammed the most popular first name for boys born in Berlin in 2018?

Expl3 and recent xparse on overleaf: No expl3 loader detected

My Sixteen Friendly Students

And now you see it II (the B side)

What will Doctor Strange protect now?

What are my options legally if NYC company is not paying salary?

What should I use to get rid of some kind of weed in my onions

What's an appropriate age to involve kids in life changing decisions?

Mindfulness of Watching Youtube

Magical Modulo Squares

Trying to understand a summation

Company stopped paying my salary. What are my options?



How do delete duplicate key row in mssql server?


64-Bit OLEDB Provider for ODBC (MSDASQL) issuesSQL Server cluster instance restarted twice, need help digging through cluster logsQuery SQL Server from Excel with parameters linked to cellsiSeries Linked-Server SQL 2012 performance issueHow do I guarantee using Microsoft ODBC Driver 13 for SQL Server in a linked server?MS SQL Server 2000 ODBC driver for LinuxError while executing SSIS PackageLinked Server ODBC statement missing delimiters on reserved identifierSQL Server link to MySQL reports “using password: no”SQL Server 2014 and SQL Server 2016 side by side - SQL Server Logs missing






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








0















I'm not a great mssql admin so this may be a lot easier, I just don't know where to start looking.



ADO Err Description: [Microsoft][ODBC SQL Server Driver][SQL Server]
Cannot insert duplicate key row in object 'dbo.posALL'
with unique index 'PK_tposALL'.
Originated at: Business.Cls.DayChange
ADO Err Number: -2147217900
Source: Microsoft OLE DB Provider for ODBC Drivers
SQL State: 23000
Native Err: 2601


When using a program that detects the current day and requests to change it on a new day, fails with the report above.



I'm looking at the database, I can see the table and rows, but I don't know how to see key rows or determine where or why there may be a duplicate, especially for something like which day of the year it is.










share|improve this question













migrated from serverfault.com Apr 29 at 16:39


This question came from our site for system and network administrators.
























    0















    I'm not a great mssql admin so this may be a lot easier, I just don't know where to start looking.



    ADO Err Description: [Microsoft][ODBC SQL Server Driver][SQL Server]
    Cannot insert duplicate key row in object 'dbo.posALL'
    with unique index 'PK_tposALL'.
    Originated at: Business.Cls.DayChange
    ADO Err Number: -2147217900
    Source: Microsoft OLE DB Provider for ODBC Drivers
    SQL State: 23000
    Native Err: 2601


    When using a program that detects the current day and requests to change it on a new day, fails with the report above.



    I'm looking at the database, I can see the table and rows, but I don't know how to see key rows or determine where or why there may be a duplicate, especially for something like which day of the year it is.










    share|improve this question













    migrated from serverfault.com Apr 29 at 16:39


    This question came from our site for system and network administrators.




















      0












      0








      0








      I'm not a great mssql admin so this may be a lot easier, I just don't know where to start looking.



      ADO Err Description: [Microsoft][ODBC SQL Server Driver][SQL Server]
      Cannot insert duplicate key row in object 'dbo.posALL'
      with unique index 'PK_tposALL'.
      Originated at: Business.Cls.DayChange
      ADO Err Number: -2147217900
      Source: Microsoft OLE DB Provider for ODBC Drivers
      SQL State: 23000
      Native Err: 2601


      When using a program that detects the current day and requests to change it on a new day, fails with the report above.



      I'm looking at the database, I can see the table and rows, but I don't know how to see key rows or determine where or why there may be a duplicate, especially for something like which day of the year it is.










      share|improve this question














      I'm not a great mssql admin so this may be a lot easier, I just don't know where to start looking.



      ADO Err Description: [Microsoft][ODBC SQL Server Driver][SQL Server]
      Cannot insert duplicate key row in object 'dbo.posALL'
      with unique index 'PK_tposALL'.
      Originated at: Business.Cls.DayChange
      ADO Err Number: -2147217900
      Source: Microsoft OLE DB Provider for ODBC Drivers
      SQL State: 23000
      Native Err: 2601


      When using a program that detects the current day and requests to change it on a new day, fails with the report above.



      I'm looking at the database, I can see the table and rows, but I don't know how to see key rows or determine where or why there may be a duplicate, especially for something like which day of the year it is.







      sql-server






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Apr 29 at 14:57









      spezticlespezticle

      1033




      1033




      migrated from serverfault.com Apr 29 at 16:39


      This question came from our site for system and network administrators.









      migrated from serverfault.com Apr 29 at 16:39


      This question came from our site for system and network administrators.






















          1 Answer
          1






          active

          oldest

          votes


















          3















          Cannot insert duplicate key row in object 'dbo.posALL' with unique index 'PK_tposALL'




          Breaking down this error message a little:



          • You have a table named dbo.posALL

          • There is a unique index named PK_tposALL defined on this table

          • The program you are using tries to insert a record with values for the key columns defined in PK_tposALL that already exist in the table

          To understand which columns constitute a duplicate, you can go to the table in SSMS, expand the "Keys" folder, and then choose "script key as." Check out this screenshot:



          SSMS screenshot showing how to script keys



          ALTER TABLE [dbo].[Badges] 
          ADD CONSTRAINT [PK_Badges__Id] PRIMARY KEY CLUSTERED
          (
          [Id] ASC
          );


          Note that in this case, the unique index is defined using a primary key constraint. I imagine this is the case in your scenarios as well. Yours may or may not be CLUSTERED, and that part doesn't matter for this situation.



          In any case, my dbo.Badges requires the Id column to be unique in the whole table. Your column list will be different.



          To find the duplicate data, you'll write a query that specifies each column from the unique index in the WHERE clause:



          SELECT b.*
          FROM dbo.Badges b
          WHERE
          b.Id = 128;


          In your case, it will look something like this:



          SELECT *
          FROM dbo.posALL a
          WHERE
          a.ColumnA = 123
          AND a.ColumnB = 456
          AND a.ColumnC = 'abc';


          Where,



          • ColumnA, ColumnB, and ColumnC are the columns in PK_tposALL

          • 123, 456, and 'abc' are the values your program was trying to insert into the table

          In the end you'll have to decide what to do from there, possibly either deleting the existing row (so that you can insert the new row) or updating the existing row with the values from the new row.






          share|improve this answer























          • Your answer seems 100% legit, but I don't have any keys defined in that table in particular. Right clicking on 'key' within that table structure only gives me options, "New Foreign Key", "Reports", and "Refresh". Many of my other tables working fine are like that. How do I determine which column is supposed to be or defined as the 'unique' one. or do I define that with a "new foreign key" ?

            – spezticle
            Apr 29 at 22:06












          • ok, actually, i did figure which ones out are the required unique ones, and it is not with keys. right clicking on the pk and selecting properties showed me that. I get it now. each day has an ID# along with the date it was insert, required to be unique. somehow 2 entries from the previous day ended up in the new day, today.

            – spezticle
            Apr 29 at 22:30











          • @spe I'm glad you were able to track it down!

            – Josh Darnell
            Apr 30 at 2:10











          Your Answer








          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "182"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdba.stackexchange.com%2fquestions%2f236958%2fhow-do-delete-duplicate-key-row-in-mssql-server%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          3















          Cannot insert duplicate key row in object 'dbo.posALL' with unique index 'PK_tposALL'




          Breaking down this error message a little:



          • You have a table named dbo.posALL

          • There is a unique index named PK_tposALL defined on this table

          • The program you are using tries to insert a record with values for the key columns defined in PK_tposALL that already exist in the table

          To understand which columns constitute a duplicate, you can go to the table in SSMS, expand the "Keys" folder, and then choose "script key as." Check out this screenshot:



          SSMS screenshot showing how to script keys



          ALTER TABLE [dbo].[Badges] 
          ADD CONSTRAINT [PK_Badges__Id] PRIMARY KEY CLUSTERED
          (
          [Id] ASC
          );


          Note that in this case, the unique index is defined using a primary key constraint. I imagine this is the case in your scenarios as well. Yours may or may not be CLUSTERED, and that part doesn't matter for this situation.



          In any case, my dbo.Badges requires the Id column to be unique in the whole table. Your column list will be different.



          To find the duplicate data, you'll write a query that specifies each column from the unique index in the WHERE clause:



          SELECT b.*
          FROM dbo.Badges b
          WHERE
          b.Id = 128;


          In your case, it will look something like this:



          SELECT *
          FROM dbo.posALL a
          WHERE
          a.ColumnA = 123
          AND a.ColumnB = 456
          AND a.ColumnC = 'abc';


          Where,



          • ColumnA, ColumnB, and ColumnC are the columns in PK_tposALL

          • 123, 456, and 'abc' are the values your program was trying to insert into the table

          In the end you'll have to decide what to do from there, possibly either deleting the existing row (so that you can insert the new row) or updating the existing row with the values from the new row.






          share|improve this answer























          • Your answer seems 100% legit, but I don't have any keys defined in that table in particular. Right clicking on 'key' within that table structure only gives me options, "New Foreign Key", "Reports", and "Refresh". Many of my other tables working fine are like that. How do I determine which column is supposed to be or defined as the 'unique' one. or do I define that with a "new foreign key" ?

            – spezticle
            Apr 29 at 22:06












          • ok, actually, i did figure which ones out are the required unique ones, and it is not with keys. right clicking on the pk and selecting properties showed me that. I get it now. each day has an ID# along with the date it was insert, required to be unique. somehow 2 entries from the previous day ended up in the new day, today.

            – spezticle
            Apr 29 at 22:30











          • @spe I'm glad you were able to track it down!

            – Josh Darnell
            Apr 30 at 2:10















          3















          Cannot insert duplicate key row in object 'dbo.posALL' with unique index 'PK_tposALL'




          Breaking down this error message a little:



          • You have a table named dbo.posALL

          • There is a unique index named PK_tposALL defined on this table

          • The program you are using tries to insert a record with values for the key columns defined in PK_tposALL that already exist in the table

          To understand which columns constitute a duplicate, you can go to the table in SSMS, expand the "Keys" folder, and then choose "script key as." Check out this screenshot:



          SSMS screenshot showing how to script keys



          ALTER TABLE [dbo].[Badges] 
          ADD CONSTRAINT [PK_Badges__Id] PRIMARY KEY CLUSTERED
          (
          [Id] ASC
          );


          Note that in this case, the unique index is defined using a primary key constraint. I imagine this is the case in your scenarios as well. Yours may or may not be CLUSTERED, and that part doesn't matter for this situation.



          In any case, my dbo.Badges requires the Id column to be unique in the whole table. Your column list will be different.



          To find the duplicate data, you'll write a query that specifies each column from the unique index in the WHERE clause:



          SELECT b.*
          FROM dbo.Badges b
          WHERE
          b.Id = 128;


          In your case, it will look something like this:



          SELECT *
          FROM dbo.posALL a
          WHERE
          a.ColumnA = 123
          AND a.ColumnB = 456
          AND a.ColumnC = 'abc';


          Where,



          • ColumnA, ColumnB, and ColumnC are the columns in PK_tposALL

          • 123, 456, and 'abc' are the values your program was trying to insert into the table

          In the end you'll have to decide what to do from there, possibly either deleting the existing row (so that you can insert the new row) or updating the existing row with the values from the new row.






          share|improve this answer























          • Your answer seems 100% legit, but I don't have any keys defined in that table in particular. Right clicking on 'key' within that table structure only gives me options, "New Foreign Key", "Reports", and "Refresh". Many of my other tables working fine are like that. How do I determine which column is supposed to be or defined as the 'unique' one. or do I define that with a "new foreign key" ?

            – spezticle
            Apr 29 at 22:06












          • ok, actually, i did figure which ones out are the required unique ones, and it is not with keys. right clicking on the pk and selecting properties showed me that. I get it now. each day has an ID# along with the date it was insert, required to be unique. somehow 2 entries from the previous day ended up in the new day, today.

            – spezticle
            Apr 29 at 22:30











          • @spe I'm glad you were able to track it down!

            – Josh Darnell
            Apr 30 at 2:10













          3












          3








          3








          Cannot insert duplicate key row in object 'dbo.posALL' with unique index 'PK_tposALL'




          Breaking down this error message a little:



          • You have a table named dbo.posALL

          • There is a unique index named PK_tposALL defined on this table

          • The program you are using tries to insert a record with values for the key columns defined in PK_tposALL that already exist in the table

          To understand which columns constitute a duplicate, you can go to the table in SSMS, expand the "Keys" folder, and then choose "script key as." Check out this screenshot:



          SSMS screenshot showing how to script keys



          ALTER TABLE [dbo].[Badges] 
          ADD CONSTRAINT [PK_Badges__Id] PRIMARY KEY CLUSTERED
          (
          [Id] ASC
          );


          Note that in this case, the unique index is defined using a primary key constraint. I imagine this is the case in your scenarios as well. Yours may or may not be CLUSTERED, and that part doesn't matter for this situation.



          In any case, my dbo.Badges requires the Id column to be unique in the whole table. Your column list will be different.



          To find the duplicate data, you'll write a query that specifies each column from the unique index in the WHERE clause:



          SELECT b.*
          FROM dbo.Badges b
          WHERE
          b.Id = 128;


          In your case, it will look something like this:



          SELECT *
          FROM dbo.posALL a
          WHERE
          a.ColumnA = 123
          AND a.ColumnB = 456
          AND a.ColumnC = 'abc';


          Where,



          • ColumnA, ColumnB, and ColumnC are the columns in PK_tposALL

          • 123, 456, and 'abc' are the values your program was trying to insert into the table

          In the end you'll have to decide what to do from there, possibly either deleting the existing row (so that you can insert the new row) or updating the existing row with the values from the new row.






          share|improve this answer














          Cannot insert duplicate key row in object 'dbo.posALL' with unique index 'PK_tposALL'




          Breaking down this error message a little:



          • You have a table named dbo.posALL

          • There is a unique index named PK_tposALL defined on this table

          • The program you are using tries to insert a record with values for the key columns defined in PK_tposALL that already exist in the table

          To understand which columns constitute a duplicate, you can go to the table in SSMS, expand the "Keys" folder, and then choose "script key as." Check out this screenshot:



          SSMS screenshot showing how to script keys



          ALTER TABLE [dbo].[Badges] 
          ADD CONSTRAINT [PK_Badges__Id] PRIMARY KEY CLUSTERED
          (
          [Id] ASC
          );


          Note that in this case, the unique index is defined using a primary key constraint. I imagine this is the case in your scenarios as well. Yours may or may not be CLUSTERED, and that part doesn't matter for this situation.



          In any case, my dbo.Badges requires the Id column to be unique in the whole table. Your column list will be different.



          To find the duplicate data, you'll write a query that specifies each column from the unique index in the WHERE clause:



          SELECT b.*
          FROM dbo.Badges b
          WHERE
          b.Id = 128;


          In your case, it will look something like this:



          SELECT *
          FROM dbo.posALL a
          WHERE
          a.ColumnA = 123
          AND a.ColumnB = 456
          AND a.ColumnC = 'abc';


          Where,



          • ColumnA, ColumnB, and ColumnC are the columns in PK_tposALL

          • 123, 456, and 'abc' are the values your program was trying to insert into the table

          In the end you'll have to decide what to do from there, possibly either deleting the existing row (so that you can insert the new row) or updating the existing row with the values from the new row.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Apr 29 at 18:48









          Josh DarnellJosh Darnell

          8,85832345




          8,85832345












          • Your answer seems 100% legit, but I don't have any keys defined in that table in particular. Right clicking on 'key' within that table structure only gives me options, "New Foreign Key", "Reports", and "Refresh". Many of my other tables working fine are like that. How do I determine which column is supposed to be or defined as the 'unique' one. or do I define that with a "new foreign key" ?

            – spezticle
            Apr 29 at 22:06












          • ok, actually, i did figure which ones out are the required unique ones, and it is not with keys. right clicking on the pk and selecting properties showed me that. I get it now. each day has an ID# along with the date it was insert, required to be unique. somehow 2 entries from the previous day ended up in the new day, today.

            – spezticle
            Apr 29 at 22:30











          • @spe I'm glad you were able to track it down!

            – Josh Darnell
            Apr 30 at 2:10

















          • Your answer seems 100% legit, but I don't have any keys defined in that table in particular. Right clicking on 'key' within that table structure only gives me options, "New Foreign Key", "Reports", and "Refresh". Many of my other tables working fine are like that. How do I determine which column is supposed to be or defined as the 'unique' one. or do I define that with a "new foreign key" ?

            – spezticle
            Apr 29 at 22:06












          • ok, actually, i did figure which ones out are the required unique ones, and it is not with keys. right clicking on the pk and selecting properties showed me that. I get it now. each day has an ID# along with the date it was insert, required to be unique. somehow 2 entries from the previous day ended up in the new day, today.

            – spezticle
            Apr 29 at 22:30











          • @spe I'm glad you were able to track it down!

            – Josh Darnell
            Apr 30 at 2:10
















          Your answer seems 100% legit, but I don't have any keys defined in that table in particular. Right clicking on 'key' within that table structure only gives me options, "New Foreign Key", "Reports", and "Refresh". Many of my other tables working fine are like that. How do I determine which column is supposed to be or defined as the 'unique' one. or do I define that with a "new foreign key" ?

          – spezticle
          Apr 29 at 22:06






          Your answer seems 100% legit, but I don't have any keys defined in that table in particular. Right clicking on 'key' within that table structure only gives me options, "New Foreign Key", "Reports", and "Refresh". Many of my other tables working fine are like that. How do I determine which column is supposed to be or defined as the 'unique' one. or do I define that with a "new foreign key" ?

          – spezticle
          Apr 29 at 22:06














          ok, actually, i did figure which ones out are the required unique ones, and it is not with keys. right clicking on the pk and selecting properties showed me that. I get it now. each day has an ID# along with the date it was insert, required to be unique. somehow 2 entries from the previous day ended up in the new day, today.

          – spezticle
          Apr 29 at 22:30





          ok, actually, i did figure which ones out are the required unique ones, and it is not with keys. right clicking on the pk and selecting properties showed me that. I get it now. each day has an ID# along with the date it was insert, required to be unique. somehow 2 entries from the previous day ended up in the new day, today.

          – spezticle
          Apr 29 at 22:30













          @spe I'm glad you were able to track it down!

          – Josh Darnell
          Apr 30 at 2:10





          @spe I'm glad you were able to track it down!

          – Josh Darnell
          Apr 30 at 2:10

















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Database Administrators Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdba.stackexchange.com%2fquestions%2f236958%2fhow-do-delete-duplicate-key-row-in-mssql-server%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Wikipedia:Vital articles Мазмуну Biography - Өмүр баян Philosophy and psychology - Философия жана психология Religion - Дин Social sciences - Коомдук илимдер Language and literature - Тил жана адабият Science - Илим Technology - Технология Arts and recreation - Искусство жана эс алуу History and geography - Тарых жана география Навигация менюсу

          Bruxelas-Capital Índice Historia | Composición | Situación lingüística | Clima | Cidades irmandadas | Notas | Véxase tamén | Menú de navegacióneO uso das linguas en Bruxelas e a situación do neerlandés"Rexión de Bruxelas Capital"o orixinalSitio da rexiónPáxina de Bruselas no sitio da Oficina de Promoción Turística de Valonia e BruxelasMapa Interactivo da Rexión de Bruxelas-CapitaleeWorldCat332144929079854441105155190212ID28008674080552-90000 0001 0666 3698n94104302ID540940339365017018237

          What should I write in an apology letter, since I have decided not to join a company after accepting an offer letterShould I keep looking after accepting a job offer?What should I do when I've been verbally told I would get an offer letter, but still haven't gotten one after 4 weeks?Do I accept an offer from a company that I am not likely to join?New job hasn't confirmed starting date and I want to give current employer as much notice as possibleHow should I address my manager in my resignation letter?HR delayed background verification, now jobless as resignedNo email communication after accepting a formal written offer. How should I phrase the call?What should I do if after receiving a verbal offer letter I am informed that my written job offer is put on hold due to some internal issues?Should I inform the current employer that I am about to resign within 1-2 weeks since I have signed the offer letter and waiting for visa?What company will do, if I send their offer letter to another company