为啥C#中数据库sql语句中在表的前面加上.dbo,不加也能正常执行,两者有啥区别!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥C#中数据库sql语句中在表的前面加上.dbo,不加也能正常执行,两者有啥区别!相关的知识,希望对你有一定的参考价值。
INSERT INTO [databasename].[dbo].[tablename]你sql语句通过sql生成出来时会带上数据库名,不加也能正常执行。这样
INSERT INTO tablename
加了数据名就写死了,相当于这条语句只能往数据库名为databasename的插入数据,我们一般都是省略掉直接写INSERT INTO tablename
没特殊必要不要写成INSERT INTO [databasename].[dbo].[tablename] 参考技术A dbo是指数据库所有者database owner,是具有在数据库中执行所有活动的暗示性权限的用户。
所以,你在数据库中的所有操作,涉及到表名,如果没有加所有者,那么默认所有者就是dbo。
因为,其他所有者的表,必须加所有者,而dbo,可以省略所有者。
SQL Sever表添加主键失败
RT,失败提示
“普通用户信息表”表
- 无法创建索引“PK_普通用户信息表”。
因为发现对象名称 'dbo.普通用户信息表' 和索引名称 'PK_普通用户信息表' 有重复的键,所以 CREATE UNIQUE INDEX 语句终止。重复的键值为 (3)。
无法创建约束。请参阅前面的错误消息。
语句已终止。
当然,还有种可能,就是你加的主键不正确 参考技术A 索引可能已经创建了 参考技术B 重复啦...这么明显的..哥哥...
你这个是创建索引吧..不是主键吧..哥...
以上是关于为啥C#中数据库sql语句中在表的前面加上.dbo,不加也能正常执行,两者有啥区别!的主要内容,如果未能解决你的问题,请参考以下文章
oracle 中在添加分区中如果要在表的开始或中间的位置添加分区,怎么使用split语句,帮忙举个例子谢谢