首页 > TAG信息列表 > unique-key

mysql – 一个空的SQL表是否有超级密钥?每个SQL表都有吗?

我知道SQL中的术语“SuperKey”代表什么,但我无法理解具体的东西,我想要一些帮助. 在没有数据的表中,有超级密钥吗? 在任何表中,总会存在一个吗?解决方法:TL; DR“超级密钥”是一个RM (Relational Model of Data)术语. SQL中没有标准用法. SQL表的超级键可能被合理地非正式地称为可以

MySQL – 创建表时一起使用时“PRIMARY KEY”,“UNIQUE KEY”和“KEY”的含义

任何人都可以解释PRIMARY KEY,UNIQUE KEY和KEY的用途,如果它在MySQL中的一个CREATE TABLE语句中放在一起? CREATE TABLE IF NOT EXISTS `tmp` ( `id` int(11) NOT NULL AUTO_INCREMENT, `uid` varchar(255) NOT NULL, `name` varchar(255) NOT NULL, `tag` int(1) NOT NULL

mysql – 如何在没有键限制的情况下防止重复的VARCHAR?

我想将URL存储在数据库列中,并强制执行值必须唯一的约束.不幸的是,MySQL对索引键的长度有限制,这意味着只检查URL的前X个字符的唯一性.因此,我遇到了误报,其中两个不同的URL触发了约束集成违规,因为前X个字符恰好相同. 有没有办法在VARCHAR列上强制执行唯一性而不限制其长度? 例如,

在MySQL中的ROLLBACK之后复制UNIQUE KEY错误

我有一张这样的桌子 mysql> describe seudonimos; +--------------+------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------+------------------+------+-----+---------+--

mysql – 大表上的“创建唯一索引”花了太长时间

我正在尝试恢复GHTorrent的数据库转储(包含GitHub元数据的CSV文件).提交表有超过891百万行,project_commits有超过54亿行.由于这些表非常大,我不得不使用带外键检查的LOAD DATA INFILE加载它们.我正在使用MyISAM引擎.完成将记录导入表后,我正在尝试为这些表创建索引. 我正在为提交

mysql – 为什么InnoDB表默认使用UNIQUE约束而不是PRIMARY KEY?

在我的MySQL数据库中,我有一个包含4列的表,PRIMRAY KEY,带有FOREIGN KEY CONSTRAINT的两列和除PRIMARY KEY之外的所有字段的一个UNIQUE索引. SHOW CREATE TABLE: CREATE TABLE `zdb_userbeschikbaarheid` ( `UserBeschikbaarheid_ID` int(10) unsigned NOT NULL AUTO_INCREMENT,

mysql – 使字段唯一使其编入索引吗?

如果我对字段进行唯一约束,是否还需要在该字段上创建索引以获得可缩放的插入时间?或者这是为我完成的(即使它使用的索引不可公开访问?) 具体来说,我正在使用Apache Derby进行原型设计,尽管我可能会在半近期将其转移到MySQL.我也希望SQL标准中可能有一些内容可以说明这一点. 我永远不

mysql – 2个表上的主键

我有两张桌子,一张是“主人”,另一张是“儿童”牌桌. 每个表都有一个名为“ProductNo”的字段,该字段定义为PRIMARY KEY和UNIQUE.是否可以在表’child’中定义字段’ProductNo’,并将表’master’中的相同字段定义为PRIMARY UNIQUE? master: ID | ProductNo child: ID | MasterID

如何根据当前数据和时间在php中生成唯一ID?

我需要根据当前的日期和时间在php中生成一个唯一的ID来记录我运行代码的时间. 即每次运行代码时,它都应该能够根据当前日期和时间生成唯一ID. 希望我对我的问题很清楚.怎么做?解决方法:使用time()创建可排序的唯一ID 连接字符串还将进一步随机化您想要的结果,并仍然保持可排序.手册h

MySQL INSERT仅在行不存在时才使用,否则选择重复行

我正在寻找一个语句,它将尝试在表中插入一行,但如果遇到一行,则返回重复行的主键.表中的一个字段是自动递增主键,另一个字段是唯一的.解决方法:至少在理论上,这应该适合你: 首先扩展您的表,以获得tinyint类型的附加列虚拟.然后,您可以在插入/更新时使用以下查询: INSERT INTO yourta

mysql – SQL唯一键语法

非常基本的问题;我是SQL的新手并试图破译示例数据库. 在下面的创建表代码中,为什么define主键语法仅在括号中引用’id’列,但唯一键定义引用’category’列两次?在括号之前和之内. 似乎有一个简单的答案,但无法跟踪一个: CREATE TABLE `categories` ( `id` SMALLINT NOT NULL AUTO