标签: composite-key

MySQL中的条件复合键?

所以我有一个带有复合键的表,基本上是'userID' - 'data'必须是唯一的(参见我的其他问题SQL表 - 半唯一行?)

但是,我想知道是否有可能使这只在userID不为零时生效?我的意思是'userID' - 'data'对于非零userID必须是唯一的?

还是我在错误的树上吠叫?

由于
马拉

mysql sql conditional composite-key

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

复合唯一索引的验证规则(非主要)

我确信我不是第一个在表中具有复合唯一键并且想要验证它们的人.我不想发明自行车所以我先问这里.我有几个表'id'列作为主键,另外两列作为唯一复合键.最好有一个验证规则来检查提交的条目是否唯一,如果不是则显示验证错误.在Cakephp中,它可以通过自定义验证规则来完成.我很确定有人已经创建了这样的方法.

理想情况下,它将是app_model.php中可以由不同模型使用的方法.

validation cakephp composite-key

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

对卡桑德拉复合键的误解

我要为Cassandra测试不同的数据模型.我正在考虑使用key1:key2为行键创建的复合键.例如,在Cassandra上使用此配置,我可以查询所有行具有特定的key1值和任何key2值但是否则不可能(获取具有特定key2的值和任何key1的所有行).这样对吗?

提前致谢

切萨雷

composite-key cassandra

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

如何在Neo4J中实现复合键

我需要确保所有节点中多个属性值的组合是唯一的.如何在Neo4J中做到这一点.

http://docs.neo4j.org/chunked/milestone/transactions-unique-nodes.html上提供的Neo4J文档中,可以确保一个属性的唯一性.但是2个或更多的组合怎么样?

composite-key neo4j

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

使用复合密钥时,Backbone在更新时执行POST而不是PUT

我在我的模型中使用复合键并根据我的复合键生成ID:

app.Assignment = Backbone.Model.extend({
    idAttribute : [ 'personId', 'jobId' ],
    parse : function(resp) {
        resp.id = resp.personId + "_" + resp.jobId;
        return resp;
    }
});
Run Code Online (Sandbox Code Playgroud)

但是Backbone仍然认为Assignment的所有实例都是新的,尽管我在从API中获取它时在parse方法中设置了id.因此,Backbone没有DELETE,并且在更新时执行POST而不是PUT.我该如何解决这个问题或者"正确的方法"呢?

更新:

看起来像用this.id替换resp.id解决了这个问题.

model composite-key backbone.js

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

使用复合键进行查询,而不是Cassandra中的Row Key

我想通过CQL3中除Row Key之外的复合键来查询数据过滤.这些是我的疑问:

CREATE TABLE grades (id int,
  date timestamp,
  subject text,
  status text,
  PRIMARY KEY (id, subject, status, date)
);
Run Code Online (Sandbox Code Playgroud)

当我尝试访问数据时

SELECT * FROM grades where id = 1098; //works fine
SELECT * FROM grades where subject = 'English' ALLOW FILTERING; //works fine
SELECT * FROM grades where status = 'Active' ALLOW FILTERING; //gives an error
Run Code Online (Sandbox Code Playgroud)

错误请求:PRIMARY KEY部分状态不受限制(前一部分主题不受限制或非EQ关系)

只是为了试验,我把关键字保持为"我的主要行密钥".我总是只能使用主行键或第二个键进行查询,考虑到上面的例子,如果我在主键列表中交换主题和状态,我可以查询状态,但如果我尝试通过,我会得到类似的错误主题或时间.

难道我做错了什么?我可以不使用CQL3中的任何其他复合键查询数据吗?我正在使用Cassandra 1.2.6和CQL3.

composite-key cassandra cql3

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

如何在sql server management studio 2012中创建复合外键

我可以通过选择两列(OrderId,CompanyId)并右键单击并设置为主键,在sql server management studio 2012中成功创建复合主键.但我不知道如何使用sql server management studio 2012在其他表中的两列(OrderId,CompanyId)上创建外键.

sql composite-key sql-server-2012

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

Cassandra 1.1存储引擎如何存储复合材料?

我想要了解Cassandra的复合色谱柱存储引擎.不幸的是,到目前为止我读过的文档包含错误,让我有点空白.

首先,术语.

复合列通过使用复合主键包含完全非规范化的宽行.

这似乎具有误导性,因为AFAIK复合列可以用于复合键,也可以简单地用作除键之外的复合列.

1:如何实现复合键和列名?我能找到的每个CQL示例只显示复合键作为列,而不是普通复合列.

假设我们将列'a','b','c','d'作为主要复合键+列'e','f'.我知道'a'将是行和分区键.

我们假设以下数据:

a    b    c    d    e    f
1a   1b   1c   1d   e1   f1
1a   1b   1c   2d   e1   f2
1a   1b   1c   2d   e2   f3
2a   2b   2c   2d   e2   f4
Run Code Online (Sandbox Code Playgroud)

2:这是如何存放在引擎盖下的?我想这里真正的问题是'b','c','d'如何映射出来,因为列根据定义不是分层的.

3:我读过的文档说不再使用紧凑型存储.但是如果不需要添加非主键列呢...那么不使用它的原因是什么?

indexing storage composite-key cassandra database-indexes

6
推荐指数
1
解决办法
2400
查看次数

如何在CRUD功能中映射复合键

我需要根据两个键(comp和part)进行映射.

@foreach (var item in Model) {
        <tr>
            <td>
                @Html.DisplayFor(modelItem => item.comp)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.part)
            </td>
             ...........................
            <td>
                @Html.ActionLink("Edit", "Edit", new { id=item.comp  }) |   
                @Html.ActionLink("Details", "Details", new { id = item.comp  }) |
                @Html.ActionLink("Delete", "Delete", new { id = item.comp  })
            </td>
        </tr>
    }
Run Code Online (Sandbox Code Playgroud)

如何在Index页面和控制器中使用复合键.

public ActionResult Edit(int? id)
    {
         DataView record = db.RecordDataView.Find(id);
            if (record == null)
            {
                return HttpNotFound();
            }
            return View(record);
        }
Run Code Online (Sandbox Code Playgroud)

如果有人有想法请回复.

composite-key entity-framework-5 asp.net-mvc-5

6
推荐指数
1
解决办法
1975
查看次数

在 JPA Hibernate 中加入部分组合键

我正在使用 JPA 为具有复合键的数据库定义数据模型。我无法更改数据库。

我有一个Car带有复合键(carType 和 carId)的实体。第二个(可选)PorscheInfo实体包含保时捷汽车的附加信息。不幸的是,相应的“porsche_info”表不包含包含 carType 信息的列,因为其条目专门引用CarType = 'Porsche'

此操作的 SQL 很简单:

SELECT *
FROM cars
LEFT JOIN porsche_info
ON cars.CarId = porsche_info.CarId
    AND cars.CarType = 'Porsche'
Run Code Online (Sandbox Code Playgroud)

如何将其转换为正确的 JPA 设置?

到目前为止,我有以下实体类:

@Embeddable
public class CarKey {
    private String carType;

    private String carId;
}

@Entity(name = "cars")
public class Car {
    @EmbeddedId
    private CarKey key;

    // car information

    @OneToOne
    @JoinColumn(name = "CarId", referencedColumnName = "CarId")
    private PorscheInfo porscheInfo;
    // or
    @OneToMany
    @JoinColumn(name = "CarId", …
Run Code Online (Sandbox Code Playgroud)

hibernate jpa one-to-one composite-key one-to-many

6
推荐指数
0
解决办法
746
查看次数