II.6.4. Managing Relationship Errors
Relationships are one place where many database applications typically run into trouble. In this section, we look at a few of the most common error conditions that can arise, along with how SQL Server protects your data.
|
II.6.4.1. Primary key violation
Primary keys are what SQL Server uses to locate a given record quickly based on a unique value. Here's some SQL that creates a table and defines its primary key:
CREATE TABLE [dbo].[STUDENTS] ( [STUDENT_ID] [int] PRIMARY KEY NOT NULL, [LAST_NAME] [varchar](50) NOT NULL, [FIRST_NAME] [varchar](50) NOT NULL, [STREET1] [varchar](50) NOT NULL, [STREET2] [varchar](50) NULL, [CITY] [varchar](50) NOT NULL, [STATE] [char](4) NOT NULL, [COUNTRY] [varchar](50) NOT NULL, [PHONE] [varchar](20) NULL, [EMAIL] [varchar](50) NULL, )
Suppose that you insert a new row as follows:
INSERT INTO STUDENTS VALUES (2291,'JONES','BOB','2454 LEGION STREET', 'APT 21', 'PHOENIX', 'AZ', 'USA', 555-555-5555, 'bob@demo.com')
So far, so good. However, your application logic is a little sloppy, and you attempt to insert another row with the same student_id. SQL ...
Get Microsoft® SQL Server™ 2008 All-In-One Desk Reference For Dummies® now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.