在SQLITE中在多于1列上指定主键的语法是什么?
我可以在一个表中拥有多个主键吗?
我有一张叫做的桌子provider.我有三个列person,place,thing.可能存在重复的人,重复的地方和重复的事物,但是永远不会存在重复的人物 - 事物 - 组合.
我如何使用这三列在ALTER TABLE中为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_1和table_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
我想拥有来自相同数据条目的版本.换句话说,我想用另一个版本号复制该条目.
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) 如何在SQL中定义由两个字段组成的复合主键?
我正在使用PHP来创建表和一切.我想打一个表名voting与领域QuestionID,MemeberID和vote.Composite主键由字段QuestionID和MemberID.
我该怎么做?
我有一张桌子,上面有几列构成主键.存储的数据的性质允许这些字段中的一些具有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?
我正在尝试确定在mongo db中处理复合主键的最佳方法.与该系统中的数据交互的主要密钥由2个uuids组成.uuids的组合保证是独特的,但是没有个体uuids.
我看到了几种管理方法:
使用一个对象作为由2个值组成的主键(如此处所示)
使用标准的自动生成的mongo对象id作为主键,将我的密钥存储在两个单独的字段中,然后在这两个字段上创建一个复合索引
使主键成为2个uuids的哈希值
我目前还没有意识到的其他一些很棒的解决方案
这些方法的性能影响是什么?
对于选项1,由于具有非顺序键,我担心插入性能.我知道这可以扼杀传统的RDBMS系统,我已经看到迹象表明在MongoDB中也是如此.
对于选项2,拥有一个永远不会被系统使用的主键似乎有点奇怪.此外,似乎查询性能可能不如选项1中的好.在传统的RDBMS中,聚簇索引提供最佳查询结果.MongoDB中有多相关?
对于选项3,这将创建一个单个id字段,但同样在插入时它不会是顺序的.这种方法还有其他优点/缺点吗?
对于选项4,那么......选项4是什么?
此外,还有一些讨论可能在将来的某个时候使用CouchDB而不是MongoDB.使用CouchDB会提出不同的解决方案吗?
更多信息:关于这个问题的一些背景知识可以在这里找到
我在我的DataBase中有一个包含两个主键(id和language_id)的表,我需要把它放在我的模型中.Models中的默认primaryKey(Laravel 5中的Model.php)是id,我希望primaryKeys是id和id_language.我尝试用数组或字符串','但它不起作用.它告诉我数组无法在String中转换.
请帮忙.
谢谢!
我有两张桌子
Table1(
FileID,
BundledFileID,
Domain)
Run Code Online (Sandbox Code Playgroud)
和
Table2(
FileID,
FileType,
FileName)
Run Code Online (Sandbox Code Playgroud)
在表2中FileID,它FileType是复合主键.我想创建一个从外键关系Table1.FileID 到Table2.
是否有可能做到这一点?
sql-server-2005 foreign-key-relationship composite-primary-key