问题标签 [unique-index]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - MySQL 使列的组合唯一
我有一个表格,用于存储用户对网站上图像的评论。该表由四列构成,row_id(主键)、image_id、user_id 和评论。我想要做的是确保用户每张图片只能留下一条评论。我是否只是在两列上创建唯一索引?
这个想法是让以下查询工作:
gotchya (gotme?) 是表是 innoDB,因为它预计会变得非常大。尽管存在主键,但这是可行的方法吗?
mysql - 多个唯一列,但只有唯一组合
我遇到了 MySQL 唯一索引的问题。我想做的是有这样的事情:
可以有相同用户 ID 的多个实例,以及组 ID 的多个实例,但只允许两者的唯一组合。我将它与ON DUPLICATE KEY UPDATE
MySQL 查询一起使用,我想知道我需要对表上的索引做什么。目前,我有这个:
但是...a)这足够了吗,b)我做对了得到我正在寻找的东西吗?
谢谢你的帮助
詹姆士
mysql - 有没有办法在 Mysql 5.1.x 中使 UNIQUE 索引不区分大小写?
如果是这样 - 此表中必须更改什么?
mysql - MySQL唯一复合约束不起作用
我创建了一个这样的唯一索引:
但我仍然可以添加重复的项目,为什么这不起作用?
笔记:
表本身也有一些列在这里没有包含,而warehouse_id是外键,不过这些东西应该没关系吧?
谢谢!
@cularis:这是成功添加重复项的示例:
编辑:
根据需要添加更多信息:
sql-server - 从 SqlException 消息中获取唯一索引名称的智能方法?
是否有任何智能/最佳方法可以从SqlException
消息中获取唯一索引名称?如下所示:
无法在具有唯一索引“IX_Partner_SerialId”的对象“partners.Partner”中插入重复的键行。该语句已终止。
我需要得到IX_Partner_SerialId
而不必操作异常消息字符串?类似于异常对象中的变量?
nhibernate - NHibernate 删除并添加到 ParentClass 的 ChildCollection
我有以下问题。
我有一个包含子对象集合的父类。
这些类使用 nhibernate 映射到列 tblChild.colName 具有唯一索引的数据库。
我的问题:由于唯一索引,以下代码引发异常:
异常的原因是NHibernate先插入child4,然后再移除child1。为什么 NHibernate 会这样做?有人解释一下,可以帮我解决这个问题吗?
sql - 已有数据库表中的唯一索引
我正在尝试在 SQL Server 2008 中的一个数据库表上添加一个新的唯一索引。这是一个现有表,我想要唯一索引的列已经有一些重复值。
我可以为该列设置唯一索引吗?如果是这样,怎么做?
php - 在 PHP 中从字符串创建唯一整数
我正在使用向我返回项目的 API,然后将这些项目存储在 MySQL 数据库中。但是,API 不会为每个项目返回唯一的 ID,因此我冒着存储相同项目两次的风险,除非我检查重复项。
我认为防止重复的最有效方法是在 MySQL 中使用唯一索引。但是,由于 MySQL 不能为字符串提供唯一索引,因此我需要将其中一个字符串(可能是 URL)转换为整数以存储在唯一索引列中。我的假设是否正确?我将如何使用 PHP 来完成此任务?
谢谢你。
foreign-keys - Symfony2 OneToOne 关系成为唯一索引还是外键?
我在 Symfony2 实体关系方面迈出了第一步。我有一个实体装置,每个装置都有一个仪表和一个监视器。
这转化为单向关系,我将其定义为:
每台显示器只能分配给一个安装。每个仪表可以分配给多个安装。
当我更新我的数据库(应用程序/控制台原则:模式:更新 --force)时,有两个结果。
在监视器的情况下:
一切正常,模式将使用以“UNIQ_”为前缀的键名进行更新。
如果是仪表:我收到以下错误
当我在这个错误发生后查看表结构时,我找不到提到的约束,但我确实找到了 FK_43D26968860BE41D,即相同,但前缀为“FK”。
在安装表中,我现在列出了这些:
所以一个说“唯一=是”,另一个说“唯一=否”。
解决我的问题:
如何确定它是 UNIQ 索引还是 FK 索引?我假设 Doctrine 看到当前每个 monitorid 在安装表中都是唯一的,但每个meterid 在安装表中出现多次。
因此它与UNIQ一起用于第一个,FK用于后者。但我能以某种方式控制它吗?
mysql - mysql utf8 编码和唯一键
我正在从用户表中导入数据(来自许多站点的许多用户):
myisam default collation latin1_swedish
....
将该数据导入到innodb table utf8_general
我在username,site_id
组合上放置了一个唯一键,但这在同一站点的 2 个用户上失败:
如果我运行:
直接在使用 utf8 编码的目标数据库上,我得到'yep'
.
任何有关解决此问题的提示都非常受欢迎。我的印象是 utf8 会将这些视为不同的字符,但似乎并非如此。