小编Tom*_*m H的帖子

@@ identity是否返回主键或标识字段?

我的问题是我在SQL视图(MS SQL 2005)上有更新触发器,我在C#中映射到LINQ to SQL实体...

我的SQL看起来是正确的,但它抱怨尝试将空值插入到辅助表PK字段中.

我认为我的问题涉及将主键和标识作为主表中的单独字段.所以我的问题是这个....当使用@@ identity时,它是否会查看插入行的主键,还是看到指定了"IDENTITY"的字段?

c# sql linq-to-sql

3
推荐指数
1
解决办法
539
查看次数

根据输入参数排序SQL结果

结合fn_split函数,我将根据逗号分隔值返回表中的结果列表.

存储过程T-SQL如下:

SELECT ProductCode, ProductDesc, ImageAsset, PriceEuros, PriceGBP, PriceDollars,  
replace([FileName],' ','\_') as [filename],  
ID as FileID, weight  
from Products  
LEFT OUTER JOIN Assets on Assets.ID = Products.ImageAsset  
where ProductCode COLLATE DATABASE_DEFAULT IN  
(select [value] from fn\_split(@txt,','))  
and showOnWeb = 1
Run Code Online (Sandbox Code Playgroud)

我传入以下的@txt参数(作为示例):

ABC001,ABC009,ABC098,ABC877,ABC723

这一切都运行正常,但结果不会以任何特定的顺序返回 - 我需要在'SAME ORDER'中返回的产品作为输入参数.

不幸的是,这是一个带有内置架构的实时网站,所以我无法改变任何内容(但我希望我能) - 否则我会让它变得更加明智.

t-sql sql-server

2
推荐指数
1
解决办法
1133
查看次数

每个Web服务器都有一个SQL服务器是否明智?

在这种情况下,我想知道是否

  1. 您获得的读取次数远多于写入次数
  2. 您选择的SQL服务器便宜/免费,并提供快速镜像/复制服务
  3. 您的数据库并不是非常庞大

而不是拥有单独的SQL服务器,最好在每台机器上获得一个SQL实例,从主机获得即时更新.这样,在执行所有读取查询时不会出现网络延迟,但是由于SQL实例必须执行,因此每个盒子的性能都会受到影响.这对性能总体上会更好吗?是否还有其他优点/缺点?

sql-server performance web-applications hardware-infrastructure

2
推荐指数
1
解决办法
213
查看次数

哪个更快,mysql数据库有一个表还是多个表?

在我的网站上,您可以搜索"广告"或"分类广告".有不同的类别.

使用多个表格进行搜索会更快,每个类别对应一个,还是不重要?

我们正在讨论大约50万个广告.

如果它不会减慢搜索速度,请解释自己,以便我理解为什么它不会,因为似乎常识,你拥有的广告越多,搜索就越慢!

谢谢

mysql sql

2
推荐指数
1
解决办法
1475
查看次数

如何从表中恢复旧数据

我在SQL 2008中的表中创建了一个更新语句,该表使用一些错误的数据更新了表.

我没有DB的备份.

这是一些重要的日期,已经更新.

无论如何,我可以从表中恢复旧数据.

谢谢

SNA

sql

2
推荐指数
2
解决办法
5305
查看次数

基础数据库设计.使用另一个表或列

我有一个表,其中包含有关特定对象,Say Item和列的信息

ItemID,ItemName,price,ItemListingType ..... LastOrderDate

其中一个信息,ItemListingType可以是10种不同类型之一,例如:

私人,政府,非政府,商业...等(字符串),将来可以扩展到更多类型.

我应该在表ITEM中使用列还是应该使用具有两列的单独表并在Item表中放入一个外键来引用它(一对多关系)?喜欢:

  • ListingTypeID int

  • ListingTypeName varchar(MAX)

编辑:列的值有多少,您将考虑使用另一个表

2,4还是什么?

谢谢

sql-server foreign-keys one-to-many

2
推荐指数
1
解决办法
147
查看次数

如何限制SQL查询是非破坏性的?

我打算用强大的过滤器构建一个Django日志查看应用程序.我想让用户使用一些自定义(可能是特定于DB)的SELECT查询来精细过滤结果.

但是,我不喜欢给用户写入数据库的访问权限.有没有办法确保查询不会更改数据库中的任何内容?就像一个'干跑'旗帜?或者有没有办法过滤SELECT查询,以便它们不会以任何方式造成伤害?

我想将查询作为一个单独的MySQL用户运行,但我宁愿避免麻烦.我还考虑过使用Google App Engine的GQL'语言',但如果有更清洁的解决方案,我当然希望听到它:)

谢谢.

python sql security django sql-injection

2
推荐指数
1
解决办法
480
查看次数

SQl按日期范围查询搜索

我在Access 2007数据库中有一个表.所有字段都是文本类型.可以使用where子句完成以下操作吗?如果是这样的话?

  • SELECT*来自Table1 WHERE(ColumnDate介于2010年3月26日至19日)
  • SELECT*来自Table1 WHERE(ColumnAge介于25和40之间)

通常的<=运算符似乎不起作用.

谢谢,

sql ms-access datetime ms-access-2007

2
推荐指数
1
解决办法
1万
查看次数

NM关系中的复合主键与否?

假设我们有3个表(实际上我目前有2个表,但这个例子可能更好地说明了这个想法):

[人]

  • ID:int,主键
  • 名称:nvarchar(xx)

[组]

  • ID:int,主键
  • 名称:nvarchar(xx)

[角色]

  • ID:int,主键
  • 名称:nvarchar(xx)

[PersonGroupRole]

  • Person_ID:int,PRIMARY COMPOSITE OR NOT?
  • Group_ID:int,PRIMARY COMPOSITE OR NOT?
  • Role_ID:int,PRIMARY COMPOSITE OR NOT?

如果PersonGroupRole关系中的3个ID中的任何一个被标记为PRIMARY键,还是它们都应该被合并为一个复合词?这样做的真正好处是什么?

据我所知,我可以加入,所以Person JOIN PersonGroupRole JOIN Group给了我哪些人在哪些组等.

我将在SQL-express和SQL-server之上使用LINQ/C#/ .NET,因此如果有任何关于语言/ SQL的原因可能会使选择更加明确,那就是我要求的平台.

期待看到弹出的答案,因为我在组合时会多次考虑这些主键/索引.

编辑:

好吧,问题是被误解我现在可以看到.

问题在于,如果将PersonGroupRole中的三个ID标记为PRIMARY KEYS用于索引目的是有意义的.这是否会为加入三个表中的每个表增加额外的速度,或者它们是否应该在PersonGroupRole表中没有PRIMARY KEY且在单独的表中只是Primary.

对不起,关于混乱.将尝试更好地解释我的问题.

sql sql-server query-optimization linq-to-sql

2
推荐指数
1
解决办法
1183
查看次数

SQL高分

好的,我有两个MYSQL表:

CREATE TABLE `sessions` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `userID` int(11) NOT NULL,
  `runTime` int(11) NOT NULL,
  `monstersKilled` int(11) NOT NULL,
  `profit` int(11) NOT NULL,
  `tasks` int(11) NOT NULL,
  `xpGain` int(11) NOT NULL,
  `lastupdate` int(11) NOT NULL,
  PRIMARY KEY (`id`)
);
Run Code Online (Sandbox Code Playgroud)

和,

CREATE TABLE  `users` (
  `userid` int(11) NOT NULL AUTO_INCREMENT,
  `user` text NOT NULL,
  `pass` text NOT NULL,
  `paypal` text NOT NULL,
  `active` tinyint(1) NOT NULL DEFAULT '0',
  `strikes` int(11) NOT NULL DEFAULT '0',
  `session` text NOT NULL, …
Run Code Online (Sandbox Code Playgroud)

php mysql sql aggregate-functions

2
推荐指数
1
解决办法
533
查看次数