标签: composite-primary-key

多列上的Sqlite主键

在SQLITE中在多于1列上指定主键的语法是什么?

sqlite ddl primary-key composite-primary-key

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

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

ALTER TABLE添加复合主键

我有一张叫做的桌子provider.我有三个列person,place,thing.可能存在重复的人,重复的地方和重复的事物,但是永远不会存在重复的人物 - 事物 - 组合.

我如何使用这三列在ALTER TABLE中为MySQL中的此表添加复合主键?

mysql sql alter-table primary-key composite-primary-key

186
推荐指数
3
解决办法
32万
查看次数

如何正确创建复合主键 - MYSQL

这是我正在使用的激烈设置的粗略过度简化.table_1并且table_2两者都有自动增加代理主键作为ID.info是一个包含有关table_1和的信息的表table_2.

table_1 (id, field)  
table_2 (id, field, field)
info ( ???, field)
Run Code Online (Sandbox Code Playgroud)

我试图决定,如果我应该做的主键info的ID从复合材料table_1table_2.如果我这样做,哪一个最有意义呢?
(在这个例子中,我将ID 11209与ID 437相结合)

INT(9)11209437 (我可以想象为什么这很糟糕)
VARCHAR (10) 11209-437
DECIMAL (10,4)11209.437

或者是其他东西?

将它用作MYSQL MYISAM数据库的主键可以吗?

mysql myisam primary-key composite-key composite-primary-key

166
推荐指数
5
解决办法
29万
查看次数

如何在JPA中创建和处理复合主键

我想拥有来自相同数据条目的版本.换句话说,我想用另一个版本号复制该条目.

id - Version 将是主键.

该实体应该如何?如何与其他版本复制?

id Version ColumnA

1   0      Some data
1   1      Some Other data
2   0      Data 2. Entry
2   1      Data
Run Code Online (Sandbox Code Playgroud)

java jpa java-ee composite-primary-key

103
推荐指数
3
解决办法
15万
查看次数

如何在SQL中定义复合主键?

如何在SQL中定义由两个字段组成的复合主键?

我正在使用PHP来创建表和一切.我想打一个表名voting与领域QuestionID,MemeberIDvote.Composite主键由字段QuestionIDMemberID.

我该怎么做?

sql primary-key composite-primary-key

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

多列主键中的NULL值

我有一张桌子,上面有几列构成主键.存储的数据的性质允许这些字段中的一些具有NULL值.我设计了我的桌子:

CREATE TABLE `test` (
    `Field1` SMALLINT(5) UNSIGNED NOT NULL,
    `Field2` DECIMAL(5,2) UNSIGNED NULL DEFAULT NULL,
    PRIMARY KEY (`Field1`, `Field2`)
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB;
Run Code Online (Sandbox Code Playgroud)

但是,当我运行describe test它时显示如下:

|| *Field* || *Type*                || *Null* || *Key* || *Default* || *Extra* 
|| Field1  || smallint(5) unsigned  || NO     || PRI   ||           ||         
|| Field2  || decimal(5,2) unsigned || NO     || PRI   || 0.00      ||         
Run Code Online (Sandbox Code Playgroud)

插入NULL值时我一直收到错误.

列'Field2'不能为空

这是因为作为主键一部分的字段不能为空吗?除了使用"0"之外,我还有什么其他选择NULL

mysql null composite-primary-key

56
推荐指数
4
解决办法
5万
查看次数

MongoDB和复合主键

我正在尝试确定在mongo db中处理复合主键的最佳方法.与该系统中的数据交互的主要密钥由2个uuids组成.uuids的组合保证是独特的,但是没有个体uuids.

我看到了几种管理方法:

  1. 使用一个对象作为由2个值组成的主键(如此处所示)

  2. 使用标准的自动生成的mongo对象id作为主键,将我的密钥存储在两个单独的字段中,然后在这两个字段上创建一个复合索引

  3. 使主键成为2个uuids的哈希值

  4. 我目前还没有意识到的其他一些很棒的解决方案

这些方法的性能影响是什么?

对于选项1,由于具有非顺序键,我担心插入性能.我知道这可以扼杀传统的RDBMS系统,我已经看到迹象表明在MongoDB中也是如此.

对于选项2,拥有一个永远不会被系统使用的主键似乎有点奇怪.此外,似乎查询性能可能不如选项1中的好.在传统的RDBMS中,聚簇索引提供最佳查询结果.MongoDB中有多相关?

对于选项3,这将创建一个单个id字段,但同样在插入时它不会是顺序的.这种方法还有其他优点/缺点吗?

对于选项4,那么......选项4是什么?

此外,还有一些讨论可能在将来的某个时候使用CouchDB而不是MongoDB.使用CouchDB会提出不同的解决方案吗?

更多信息:关于这个问题的一些背景知识可以在这里找到

primary-key-design mongodb composite-primary-key

45
推荐指数
4
解决办法
3万
查看次数

如何在Laravel 5中将复合键放入模型中?

我在我的DataBase中有一个包含两个主键(id和language_id)的表,我需要把它放在我的模型中.Models中的默认primaryKey(Laravel 5中的Model.php)是id,我希望primaryKeys是id和id_language.我尝试用数组或字符串','但它不起作用.它告诉我数组无法在String中转换.

请帮忙.

谢谢!

php model composite-primary-key web laravel

42
推荐指数
4
解决办法
5万
查看次数

SQL Server 2005中与复合主键的外键关系

我有两张桌子

Table1(
  FileID,
  BundledFileID,
  Domain)
Run Code Online (Sandbox Code Playgroud)

Table2(
  FileID,
  FileType,
  FileName)
Run Code Online (Sandbox Code Playgroud)

在表2中FileID,它FileType是复合主键.我想创建一个从外键关系Table1.FileIDTable2.

是否有可能做到这一点?

sql-server-2005 foreign-key-relationship composite-primary-key

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