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