【发布时间】:2021-01-03 19:14:44
【问题描述】:
我写了这段代码:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[USERS]
(
[ID] [int] NOT NULL,
[First_Name] [varchar](50) NOT NULL,
[Last_Name] [varchar](50) NOT NULL,
[email] [varchar](50) NOT NULL,
[Password] [text] NOT NULL,
[User_Type] [tinyint] NOT NULL,
[Date_of_Birth] [date] NOT NULL,
[Gender] [varchar](50) NULL,
[Login_with] [tinyint] NOT NULL,
[Phone] [int] NOT NULL,
[Receive_Coupon] [int] NULL,
[Country_ID] [int] NOT NULL,
[Created] [datetime] NOT NULL,
[Modified] [datetime] NOT NULL,
[Status] [tinyint] NOT NULL,
[Language_ID] [int] NOT NULL,
CONSTRAINT Country_ID FOREIGN KEY (ID) REFERENCES COUNTRIES,
CONSTRAINT Language_ID FOREIGN KEY (ID) REFERENCES LANGUAGE,
CONSTRAINT [PK_USERS]
PRIMARY KEY CLUSTERED ([ID] ASC)
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
但我得到了这个错误
除了更改Country_ID 列的名称,我该如何解决这个错误?
【问题讨论】:
-
您只会通过以建议列的方式命名约束来引起更多混乱。并且不要使用 text 数据类型 - 许多年前已弃用。此外,您需要研究和实施适当的安全实践。您永远不应该存储纯文本密码。事实上,这里有很多安全/PII 问题需要解决。
标签: sql sql-server database foreign-keys key