是否可以命名已经是关键字的数据库表?对于我的情况,我试图命名将保留我的用户的表.我把它命名为User但它在SQL Server Management Studio中显示为粉红色,所以我假设它是现有的系统表或关键字.谢谢你的建议.
保留关键字的官方列表:保留关键字(Transact-SQL)
小智 105
重复这三次:
不要这样做,我不会使用保留的字!
你会感谢我的!
And*_*ite 66
您可以创建与关键字同名的表.如果您"引用"表名,它应该起作用.SQL Server中的默认引号是方括号:[]
CREATE TABLE [dbo].[user](
[id] [bigint] NOT NULL,
[name] [varchar](20) NOT NULL
) ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)
是的,没关系.在您的查询中,您可以将[和]放在表名周围,以便SQL Server知道您指的是表 - 即
CREATE TABLE [User] ...
SELECT * FROM [User]
Run Code Online (Sandbox Code Playgroud)
小智 6
对于MS Query,我发现双引号在Query中非常有效。
select T1."Reference"
from MyTable T1
Run Code Online (Sandbox Code Playgroud)
使用"单引号"的字符串,而"双引号"列名.
例:
INSERT INTO AccountMovement
("Date", Info)
VALUES
('2012/03/17', 'aa'),
('2012/03/17', 'bb'),
('2012/03/17', 'cc'),
('2012/03/17', 'dd')
Run Code Online (Sandbox Code Playgroud)
我坐在营地里说表名应该是复数,所以在你的情况下就是用户.
我喜欢这个惯例,因为它对我有意义.你有一个用户集合,所以打电话给你的表.如果您拉出一个可以填充名为User的对象的单行,则进一步向下游.
如果您的约定规定对表名使用单数,请使用不同的内容,例如:成员,客户等.
另见RacerX的答案!
如前所述,如果你[Braket]这个名字,那就好了.