Note that there are some explanatory texts on larger screens.

plurals
  1. POUpdate a record that has a PK
    text
    copied!<p>I want to update an email address field on a table. My query:</p> <pre><code>UPDATE TableName SET emailaddress = 'someone@somewhere.com' WHERE Per_ID = '1234' </code></pre> <p>I get this response:</p> <pre><code>Violation of PRIMARY KEY constraint 'PK_TableName'. Cannot insert duplicate key in object 'TableName'. </code></pre> <p>Question(s):</p> <ol> <li>Is there a way to modify a field in a table that has PKs? </li> <li>Assuming I have to delete the row and insert a new row, should I worry about having a different PK?</li> <li>How would I do #2? :)</li> </ol> <p>Thanks in advance!</p> <p>Here's the create table script:</p> <pre><code>USE [Web_Production] GO /****** Object: Table [dbo].[Supported_Users] Script Date: 07/23/2013 10:48:37 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[Supported_Users]( [Supported_Users_ID] [int] IDENTITY(1,1) NOT NULL, [Per_ID] [nvarchar](32) NULL, [EmailAddress] [nvarchar](80) NOT NULL, [SerialNum] [nvarchar](20) NULL, [Password] [nvarchar](255) NULL, [OSC_LastLogonDate] [datetime] NULL, [OSC_TotalLogons] [int] NULL, [CP_LastLogonDate] [datetime] NULL, [CP_TotalLogons] [int] NULL, [IRC_LastLogonDate] [datetime] NULL, [IRC_TotalLogons] [int] NULL, [AddDate] [datetime] NOT NULL, [AddUser] [nvarchar](50) NOT NULL, [ChangeDate] [datetime] NULL, [ChangeUser] [nvarchar](50) NULL, [SupportAccess] [bit] NULL, [confirmationID] [nvarchar](10) NULL, [ForcedExpiryDate] [datetime] NULL, [ManualAddition] [bit] NULL, [Industry] [nvarchar](50) NULL, [Roles] [nvarchar](255) NULL, [OLL_Token] [nvarchar](40) NULL, [OLL_AddDate] [datetime] NULL, [ShowSupport] [bit] NULL, [ShowForum] [bit] NULL, [ShowKB] [bit] NULL, [ShowTraining] [bit] NULL, [ForceReset] [bit] NULL, CONSTRAINT [PK_Supported_Users] PRIMARY KEY CLUSTERED ( [EmailAddress] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY] ) ON [PRIMARY] GO ALTER TABLE [dbo].[Supported_Users] ADD CONSTRAINT [DF_Supported_Users_TotalLogons] DEFAULT (0) FOR [OSC_TotalLogons] GO ALTER TABLE [dbo].[Supported_Users] ADD CONSTRAINT [DF_Supported_Users_CP_TotalLogons] DEFAULT (0) FOR [CP_TotalLogons] GO ALTER TABLE [dbo].[Supported_Users] ADD CONSTRAINT [DF_Supported_Users_IRC_TotalLogons] DEFAULT (0) FOR [IRC_TotalLogons] GO ALTER TABLE [dbo].[Supported_Users] ADD CONSTRAINT [DF_Supported_Users_ManualAddition] DEFAULT (0) FOR [ManualAddition] GO ALTER TABLE [dbo].[Supported_Users] ADD CONSTRAINT [DF_Supported_Users_ShowSupport] DEFAULT (1) FOR [ShowSupport] GO ALTER TABLE [dbo].[Supported_Users] ADD CONSTRAINT [DF_Supported_Users_ShowForum] DEFAULT (1) FOR [ShowForum] GO ALTER TABLE [dbo].[Supported_Users] ADD CONSTRAINT [DF_Supported_Users_ShowKB] DEFAULT (1) FOR [ShowKB] GO ALTER TABLE [dbo].[Supported_Users] ADD CONSTRAINT [DF_Supported_Users_ShowTraining] DEFAULT (1) FOR [ShowTraining] GO ALTER TABLE [dbo].[Supported_Users] ADD CONSTRAINT [DF_Supported_Users_ForceReset] DEFAULT (0) FOR [ForceReset] GO </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload