primary-key相关内容
主键提供哪些独特的功能? 虽然我用舌头牢牢地贴在脸颊上为问题命名,但我的问题很严重.在任何火焰开始之前,我并不是说构建一个没有约束或参照完整性的数据库.然而,据我所知,SQL Server 可以取消 primary key 关键字. 唯一索引涵盖了唯一性 基于列的非空性涵盖了 PK 的非空性要求 PK 不必聚集在一起,所以不是这样 外键可以并且经常使用唯一索引而不是 PK 来实现
..
这是我在 Postgres 中遇到的一种奇怪的、不需要的行为:当我使用复合主键创建 Postgres 表时,它对复合组合的每一列强制执行 NOT NULL 约束. 例如 CREATE TABLE 分发器 (m_id integer, x_id integer, PRIMARY KEY(m_id, x_id)); 对列 m_id 和 x_id 强制执行 NOT NULL 约束,我不想要!M
..
我正在设计一个供 Web 应用程序使用的小型 SQL 数据库. 假设一个特定的表有一个 Name 字段,不允许两行具有相同的值.但是,用户可以随时更改名称字段. 此表中的主键将用作其他表中的外键.因此,如果 Name 字段用作主键,则任何更改都需要传播到其他表.另一方面,唯一性要求将被自动处理. 我的直觉是添加一个整数字段作为主键,它可以由数据库自动填充.拥有这个领域有什么意义还
..
此示例取自 来自 w3schools. 创建表人(P_Id int 非空,姓氏 varchar(255) 非空,名字 varchar(255),地址 varchar(255),城市 varchar(255),约束 pk_PersonID PRIMARY KEY (P_Id,LastName)) 我的理解是这两列(P_Id 和 LastName)一起代表表 Persons 的主键.这是正确的吗?
..
我正在将我的一些代码从旧的 mysql 扩展转换为 PHP 中的 mysqli 扩展.以前,使用mysql扩展,我曾使用过这样的代码来查找表中的主键: while ($i primary_key == 1){$primary_key = $meta->name;}$i++;} $meta->primary_key == 1 非常方便. 到目前为止,我已经转换为使用 mysqli 的代码:
..
有一种简单的方法可以设置 hibernate 为每个带有 postgres 的表使用不同的主键 ID?我尝试在 DataSource 中使用 postgres 方言: dialect = org.hibernate.dialect.PostgreSQLDialect或者方言 = net.sf.hibernate.dialect.PostgreSQLDialect 但它不起作用.谢谢 解决
..
我有下表(PostgreSQL 8.3),其中存储了一些产品的价格.价格与另一个数据库同步,基本上下面的大多数字段(除了一个)不是由我们的客户更新 - 而是每隔一段时间删除和刷新以与另一个股票数据库同步: 创建表 product_pricebands (template_sku varchar(20) 非空,colourid integer REFERENCES color (colourid)
..
当一个整数列在 SQLite 表中被标记为主键时,是否也应该为它显式创建索引?SQLite 似乎不会自动为主键列创建索引,但鉴于其目的,它可能无论如何都会对其进行索引?(我会一直在那个专栏上搜索) 字符串主键的情况会有所不同吗? 解决方案 它为您做到了.一个> INTEGER PRIMARY KEY 列放在一边,UNIQUE 和 PRIMARY KEY约束是通过在数据库中创建索
..
我什么时候应该使用主键或索引? 它们的区别是什么,哪个最好? 解决方案 基本上,主键(在实现级别)是一种特殊的索引.具体: 一张表只能有一个主键,除了极少数例外,每个表都应该有一个. 主键是隐式的 UNIQUE - 不能有多行具有相同的主键,因为其目的是唯一标识行. 主键永远不能是NULL,所以它所包含的行必须是NOT NULL 一个表可以有多个索引,索引不一定是UN
..
让我快速描述一下我的问题. 我有 5 个数据库供 5 个客户使用,并且每个客户都有相同的表,称为 SubnetSettings. 我已经创建了一个下拉列表来选择一个客户,并将显示属于所选客户的 SubnetSetting 表,并允许我创建、编辑和删除. 我可以毫无问题地创建、删除,但是当我想编辑数据时会出现错误: “/TMS"应用程序中的服务器错误. 附加类型为“CF
..
出于多种原因^,我想在我的某些 Django 模型中使用 UUID 作为主键.如果我这样做,我是否仍然可以使用通过 ContentType 使用泛型关系的外部应用程序,例如“contrib.comments"、“django-voting"或“django-tagging"? 以“django-voting"为例,Vote模型如下所示: class 投票(models.Model):用户
..
这应该是一个相当简单的问题,但我找不到简单的答案.你如何创建一个外键,它也是 MySQL 中的主键?这是我目前的尝试: CREATE TABLE Sale(sale_id CHAR(40),主键(sale_id),折扣双,类型 VARCHAR(255),价格双倍,);创建表 Normal_Sale(sale_id CHAR(40),主键(sale_id););CREATE TABLE Speci
..
我有一个简单的 JPA 实体,它使用生成的 long“ID"作为其主键: @Entity公共课播放器{私人长ID;受保护的玩家(){//没做什么;id 默认为 0L}@GeneratedValue@ID公共长 getId() {返回标识;}protected void setId(final long id) {this.id = id;}//其他代码} 在这种类型的对象生命周期的某个时刻,J
..
通常在 SQL Server Management Studio 中通过设置主键创建聚集索引,但是我最近关于 PK 聚集索引的问题 (主键对Microsoft SQL Server 2008 的意义) 已经表明没有必要将PK 和聚集索引设置为相等. 那我们应该如何选择聚集索引呢?举个例子: 创建表Customers (ID int, ...)创建表订单(ID int,Custome
..
我正在将 MS Access 数据库重写到 SQL 服务器,并且在 Access 中发现了一个奇怪的问题,我希望有人可以提供帮助. 我有一个表,我们称之为“主",帐户上有一个主键,该主键已编入索引且不允许重复.看起来很简单,但我的问题是在插入数据时发生. 我的 INSERT 查询是(为简洁起见,字段数已被限制) INSERT INTO Main (Account, SentDate,
..
我需要为我的业务密钥自动生成一个 12 个字符的值.无需任何用户交互. 8 个字符 ->今天日期(yyyymmdd 或 ddmmyyyy).+4 个字符 ->序列号 (0001,0002,0003). 必须在每个新的一天重新设置序列号. 是否可以在不涉及任何编码的情况下在 Microsoft Access 2010+ 中执行此操作? 解决方案 由于您使用的是 Access 201
..
我正在尝试使用 EF4 创建一个通用方法来查找对象的主键. 示例 public string GetPrimaryKey(){...} 为了提供更多信息,我正在使用 Tekpub StarterKit,下面是我正在尝试启动和运行的类 使用系统;使用 System.Collections.Generic;使用 System.Linq;使用 System.Web;使用 System.Dat
..
当我尝试更改 @Entity 中的 @ID 时,我收到以下异常. com.google.search.pagerank.ItemEntity 实例的标识符从 1 更改为 2. 我知道我正在更改表中的主键.我正在使用 JPA 注释. 我使用这个单一的 HQL 查询解决了这个问题:update Table set name=:newName where name=:oldName 而
..
有人知道一些关于如何为休眠创建自定义 ID 生成器的好教程吗? 解决方案 在 Google 上粗略搜索“hibernate custom id generator tutorial"发现了以下可能性.我已经排除了那些看起来没有用的并总结了每个的内容. http://www.devx.com/Java/Article/30396- 涵盖了在数据持久化之前生成 ID(因此还没有业务密钥)
..
我有一个数据库视图,它生成的结果集没有真正的主键.我想使用 Hibernate/Persistence 将此结果集映射到 Java 对象.当然,因为没有PK,我不能用@Id来装饰任何字段. 在部署时,Hibernate 会抱怨缺少 @Id.我该如何解决这个问题? 解决方案 如果存在使行唯一的列组合,请围绕列组合建模主键类.如果没有,那么您基本上是走运了——但您应该重新检查视图的设计,
..