MSSQL 관리 스튜디오에 두 테이블을 연결하는 데 문제가 있습니다. 내 목표는 외래 키로 테이블을 연결하는 것이며 사용자를 삭제하면 두 번째 테이블 항목이 자동으로 삭제됩니다. DELETE Cascade 메서드를 사용하려고합니다.주 키 외래 키 문제
User:
CREATE TABLE [dbo].[Users](
[ID] [bigint] IDENTITY(1,1) NOT NULL,
[Email] [nvarchar](89) NOT NULL,
[Name] [nvarchar](25) NOT NULL,
[Midname] [nvarchar](25) NOT NULL,
[Surname] [nvarchar](25) NOT NULL,
[Phone] [varchar](15) NOT NULL,
[Country] [smallint] NOT NULL,
[Manager] [nvarchar](89) NOT NULL,
[Referrer] [nvarchar](89) NOT NULL,
[Rank] [tinyint] NOT NULL,
CONSTRAINT [PK_Users] PRIMARY KEY CLUSTERED
(
[Email] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
이메일은 기본 키
Payments:
CREATE TABLE [dbo].[Investments](
[ID] [bigint] NOT NULL,
[Investor] [nvarchar](89) NOT NULL,
[Sum] [decimal](19, 4) NOT NULL,
[Currency] [smallint] NOT NULL,
[Credit] [decimal](19, 4) NOT NULL,
[CreditRate] [decimal](19, 4) NOT NULL,
[Rate] [tinyint] IDENTITY(1,1) NOT NULL,
[Date] [smalldatetime] NOT NULL,
[Comment] [nvarchar](max) NOT NULL,
CONSTRAINT [PK_Investments] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ID 내 FK는 USER-> 결제 또는 PAYMENTS-> 이용자해야
키 차입니다? 어디에 문제가
The columns in table 'Payments' do not match an existing primary key or UNIQUE constraint.
당신이 설명해 주 시겠어요 : - 이메일로 foregn 키를 사용하여> 결제 - 나는 사용자를 연결하려고 할 때
은> 투자, 그것은 나에게 같은 오류를 말해? 그리고 내가 뭘 잘못하고 있니?
에
Users.ID
에 가입하고 당신이 외국처럼 두 번째 테이블에 이메일을 설정? here 문을 추가하십시오. – Sajmon1) 테이블에 DDL을 게시하십시오. 2) 전자 메일 주소를 기본 키로 사용하는 것은 정말 좋지 않습니다. – Perception
[sql] 질문에 태그를 지정했는데 어떤 질문을 했습니까? Oracle, MS SQL Server, MySQL ... 또한 오류를보고하는 쿼리를 게시하여 사람들이 문제를 해결하는 데 도움이됩니다. – Tony