草庐IT

unique_index

全部标签

mysql - SQL 设计模式 : how do I store multiple unique ids from different sites in mashup?

我正在构建一个混搭来存储来自多个RESTAPI数据源的项目的元数据。我希望能够根据跨所有不同数据源汇总的数据生成典型的提要(最新的、评价最高的、观看次数最多的等),并添加标签(即多对多关系)。我的问题是每个数据源都有不同的方式通过它们的RESTAPI发布唯一ID。我需要有关用于我的MySQL数据模型的最佳模式的建议。我目前的解决方案是为所有项目使用1个表和一个复合键,但连接很长,而且cakePHP本身不处理复合键:datasource_idsmallint,datasource_item_idVARCHAR(36),//somedatasourcesissuealphakeys问:向我

mysql - 如何在不使用 UNIQUE 约束的情况下保证 MySQL 中的行唯一性?

我有一些相当简单的要求,但我不确定如何实现它们:我有多个并发线程运行同一个查询查询提供一个“字符串”值——如果它存在于表中,查询应返回匹配行的ID,如果不存在,查询应插入“字符串”值并返回最后插入的ID'string'列是(而且必须是)文本列(它大于varchar255)所以我不能将它设置为唯一-必须通过访问机制强制执行唯一性查询需要是存储过程格式(MySQL不支持表锁)如何保证'string'是唯一的?在另一个线程读取表但没有找到匹配的“字符串”项后,如何防止其他线程写入表?感谢任何建议.. 最佳答案 如果您确定不能使用DB约束,

mysql - add_index 迁移失败,返回 "Argument out of range"

我正在尝试在另一台计算机上复制(正在运行!)Rails3/MySql应用程序。我创建了一个schema.rb和data.yml,然后使用了db:schema:load和db:data:load,除一件事外,它们都运行良好。我的表上有许多索引,但rake尝试创建它们失败了——我不得不从schema.rb中注释它们以使其生成,所以我尝试将它们放入迁移中(它们的创建方式是原来的应用程序!)和rake仍然死了。这是错误消息:O:\Development\myapp>rakedb:migraterakeaborted!Anerrorhasoccurred,alllatermigrationsca

mysql表: index vs primary

我是新手,有点关心mysql表的效率问题。在mysql表中制作一个字段的优缺点是什么索引主要在决定mysql表中字段的属性时遵循的做法是什么?请分享您的见解,谢谢。 最佳答案 一张表中只能有一个主键。它应该是唯一标识表中每条记录的列。主键不是必需的;例如,您可能有一个表来实现多对多关系,并且这些记录不需要唯一ID。只要您必须查询表并指定一些条件以根据列的值(例如WHERE子句)过滤记录,就应该使用索引。有很多关于索引的知识,例如:何时在一列上创建索引与在同一索引中的多个列上创建索引。阅读thedocumentationontheMy

mysql - 在 MySQL 中使用带有 NULL 字段的 UNIQUE 索引?

我可以定期检查当前在线的用户列表。我想把它变成有用的东西,比如每个用户登录/注销时间的条目列表。除了检查谁当前在线之外,没有其他方法可以确定此信息。经过一番思考,我想到了这样的事情:CREATETABLEonlineActivity(idINTUNSIGNEDNOTNULLAUTO_INCREMENT,nameCHAR(32)NOTNULL,login_timeDATETIMENOTNULL,logout_timeDATETIMENOTNULL,timeSMALLINT(3)NOTNULLDEFAULT0,onlineBOOLDEFAULTNULL,UNIQUE(name,online

php - 将记录插入应该在 10000 - 99999 之间并且在 unique_no 字段记录中不存在的记录

我在已经包含一些记录的表中有一个字段名称“unique_no”。我想将记录选择到字段“unique_no”中,这应该是,-在10000-99999和之间-已经不存在于unique_no字段记录中。所以请建议我执行此操作的方法。提前致谢。 最佳答案 将字段unique_no设置为AUTO_INCREMENT。设置表选项AUTO_INCREMENT=10000;插入新记录,为unique_no字段指定NULL。 关于php-将记录插入应该在10000-99999之间并且在unique_no字

MySQL Innodb : Large Composite PK no other indexes

我正在创建一个包含四列的Innodb表。表格column_a(tiny_int)column_b(medium_int)column_c(timestamp)column_d(medium_int)PrimaryKey->column_a,column_b,column_c从逻辑的角度来看,列A、B、C必须一起组成一个PK。但是,为了提高性能并能够直接从索引中读取(使用索引),我正在考虑一个由所有4个组成的PK列(A、B、C、D)。问题将附加列附加到Innodb表的主键上会有什么性能?注意事项代理主键绝对不可能此表上将不存在其他索引表是读/写密集型的(两者差不多)谢谢!

MySQL : Drop a unique key if exists -- but without knowing name of the key or whether it exists

不要问为什么(因为答案是“我们完全奇怪和定制的设置...”),但我需要在不知道key名称的情况下将唯一key放到表上(如果存在)--仅构成键的列。例如我有这张tableCREATETABLE`my_table`(`id`binary(36)NOTNULL,`username`char(12)NOTNULLDEFAULT'',`password`char(32)NOTNULLDEFAULT'',`role`char(1)NOTNULL,PRIMARYKEY(`id`),UNIQUEKEY`username_2`(`username`,`role`),UNIQUEKEY`username`

MySQL composite unique on FK's

基于这个问题的问题MySQLcompositeuniqueonFK'sDBMySQL,存储引擎:InnoDB。我有一个表计划:身份证clubber_id(clubbers表的外键)event_id(事件表的外键)每个俱乐部成员每次事件只能创建一个计划。即clubber_id和event_id理想情况下应该是唯一的组合键。使用clubber_id和event_id创建这样的组合键在性能方面有什么意义吗?我已经有了外键,并且在我的业务逻辑中检查了唯一性。 最佳答案 这并不是真正的性能问题,但在外键上定义唯一的复合键可确保数据库中的唯一性

mysql - 我怎样才能在 MySQL 中有涉及 ForeignKey 字段的 unique_together 约束?

MySQL在使用外键的多列唯一约束方面似乎有些问题。这是我能想到的最小示例(使用MySQL/InnoDB):模型.pyfromdjango.dbimportmodelsclassTeam(models.Model):passclassPlayer(models.Model):team=models.ForeignKey(Team)number=models.PositiveIntegerField()classMeta:unique_together=("team","number")运行schemamigration--initial,south吐出以下迁移(仅重要位):classM