小编Ric*_*iwi的帖子

如何在MS SQL中的现有(填充)表中添加NOT NULL FOREIGN KEY列?

我需要向现有(已填充)表添加NOT NULL列,该表将是另一个表的外键.这带来了两个问题:

  1. 添加列时,其值不能为null - 使用默认值不是一个选项(除非稍后删除),因为当用户输入新记录时(即应用程序尝试时),在服务器端验证中使用数据库逻辑要使用具有空值的此字段添加记录,数据库会抛出应用程序捕获并返回给用户的错误,提示他们更正错误.

  2. 该列具有外键约束,这意味着它的值也必须存在于外表中.

最好的方法是什么?

sql-server nullable sql-server-2005 constraints foreign-keys

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

SQL - 仅为每种类型提供3次点击

我有一些不可能的要求:).

我有一个表,其中一个列被命名type.我想为该列中的每种类型选择3条记录.那可能吗?

另请注意,我正在使用MySQL和Sphinx.

更新:表结构

id       title        type
1        AAAA         string1
2        CCCC         string2
3        EEEE         string2
4        DDDD         string2
5        FFFF         string2
6        BBBB         string2
6        BBBB         string2
Run Code Online (Sandbox Code Playgroud)

我希望MySQL返回的是(按标题排序的每种类型最多3条记录):

id       title        type
1        AAAA         string1
6        BBBB         string2
2        CCCC         string2
4        DDDD         string2
Run Code Online (Sandbox Code Playgroud)

mysql sql sphinx greatest-n-per-group

8
推荐指数
1
解决办法
4975
查看次数

SQL在数字字段中搜索非整数

我有一个数字字段的数据库,我需要搜索所有行,只返回非整数.

我已经尝试了下面的查询,它继续重新调整有0的记录.

SELECT
 li.QTY
FROM
  TABLE LI
WHERE
  li.QTY  like '%.%'
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server-2005

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

我可以将SQL Server与SQL Server Express一起安装吗?

我已经使用了使用SQL Server Express 2008作为后端的第三方应用程序,因此将其安装到我的PC(Windows 7旗舰版)上.

我需要针对SQL Server 2012 Web Edition进行开发工作,因此需要将其安装到我的PC上.这是否会导致与依赖于SQL Server Express的应用程序发生冲突?我是否必须将数据从SQL Server Express安装迁移到SQL Server 2012?(我担心这可能会破坏,因为我无法控制使用它的应用程序.)

sql-server installation

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

非空字段的流畅Nhibernate Automap约定

可能有人帮忙,我如何指示automap对列不为null?

public class Paper : Entity
{
    public Paper() { }

            [DomainSignature]
            [NotNull, NotEmpty]
            public virtual string ReferenceNumber { get; set; }

            [NotNull]
            public virtual Int32 SessionWeek { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

但我得到以下内容:

 <column name="SessionWeek"/>
Run Code Online (Sandbox Code Playgroud)

我知道可以使用流利地图完成.但我想以自动映射的方式知道它.

convention nullable fluent-nhibernate automapping

7
推荐指数
1
解决办法
5310
查看次数

如何重置所有mysql统计信息?

我似乎无法找到重置所有mysql统计信息的方法(在phpmyadmin的'Stats'页面中显示)

我可以重置"服务器流量"部分,但其他所有内容都不会重置(InnoDB统计信息,处理程序统计信息等).

mysql mysql-management phpmyadmin

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

Web SQL数据库+ Javascript循环

我试图解决这个问题,但似乎无法自己...
我正在玩Web SQL数据库,我无法使用循环来正常工作.
我用:

for (var i=0; i<=numberofArticles-1; i++){  
    db.transaction(function (tx) {  
    tx.executeSql('INSERT INTO LOGS (articleID) VALUES (?)',  [i]);
  });
 };
Run Code Online (Sandbox Code Playgroud)

我只得到了5个......我没有得到增量i值.
任何人都可以建议我做错了什么以及我应该考虑什么?

javascript sql html5 loops web-sql

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

通过第一个字母排序sql查询

我试图根据第一个字母来命令我的mysql查询,但我使用的每个方法都限制了我的搜索.

示例 MySQL表值计算机服务abc计算机服务动态计算机服务

如果我搜索computer services我希望结果返回为:

**Name**
computer services
abc computer services
dynamic computer services
Run Code Online (Sandbox Code Playgroud)

我正在使用mysql fullsearch文本,但如果我使用name LIKE 'c%'我没有其他两个结果,例如

SELECT name FROM table WHERE match('name') against('computer services*' IN BOOLEAN MODE) AND name LIKE 'c%';
Run Code Online (Sandbox Code Playgroud)

这只会回来

  • 电脑服务

但我想要它回归:

  • 电脑服务
  • abc电脑服务
  • 动态计算机服务

我是mysql全搜索文本的新手.

php mysql sql search full-text-search

7
推荐指数
1
解决办法
1910
查看次数

具有多个表连接的每个组的前N个

根据我的研究,这是一个非常普遍的问题,通常有一个相当简单的解决方案.我的任务是改变几个查询,将所有结果变为每组前三名.起初这很顺利,我使用了几个建议和本网站的答案来实现这一目标(观看次数最多的产品).然而,由于多次加入,我的最后一个"畅销产品"遇到了困难.

基本上,我需要按每个产品的最高销售额排序所有产品,其中每个供应商的最大产品数为3 我已经连接多个表以创建原始查询,并且每次我尝试使用变量生成排名产生无效结果.以下内容应该有助于更好地理解这个问题(为简洁起见,我删除了不必要的字段):

产品表

productid | vendorid | approved | active | deleted
Run Code Online (Sandbox Code Playgroud)

供应商表

vendorid | approved | active | deleted
Run Code Online (Sandbox Code Playgroud)

订单表

orderid | `status` | deleted
Run Code Online (Sandbox Code Playgroud)

订单项目表

orderitemid | orderid | productid | price
Run Code Online (Sandbox Code Playgroud)

现在,我的原始查询获得所有结果如下:

SELECT COUNT(oi.price) AS `NumSales`, 
       p.productid, 
       p.vendorid
FROM products p
INNER JOIN vendors v ON (p.vendorid = v.vendorid)
INNER JOIN orders_items oi ON (p.productid = oi.productid)
INNER JOIN orders o ON (oi.orderid = o.orderid)
WHERE (p.Approved = 1 …
Run Code Online (Sandbox Code Playgroud)

mysql sql group-by greatest-n-per-group

7
推荐指数
1
解决办法
2489
查看次数

在数据库中排序项目符号

[datatype:varchar(50)]在数据库(SQL Server 2008)中有一列具有如下所示的值:

1
2
1.1.11
4.1
5
2.1
1.1
4
1.2.1
4.2.2
4.3
4.2
4.3.1
4.2.1
11.2
1.2.4
4.4
Run Code Online (Sandbox Code Playgroud)

这些是我记录的编号项目符号我需要将它们排序为按顺序对所有记录进行分组 1,1.1,1.1.1,2,3.1,4,10.1,11.1....

请帮助我这方面.

sql-server sql-server-2008

7
推荐指数
1
解决办法
897
查看次数