0 0

有关数据库表的主键的类型5

数据库的表的主键我一般都是选用自增,而且都是大部是int,bigint类型的(mysql),也就大部分喜欢用数字做主键
而最近我项目有同事用到UUID做主键,自然而然就是varchar类型,

我请问下,表的主键一般用哪种类型是最合适的?

而且还有一个问题就是用如果是varchar,两张表之间用到内查询主键之间用"="好像SQL不能执行?

问题补充:如:select a.*,b.* from a inner join b on a.id = b.id

id字段都是uuid生成的,sql这样写在sql编辑器里好像不能执行,好像提示两边都是varchar类型,不能用等于号
2010年1月15日 17:51

6个答案 按时间排序 按投票排序

0 0

为了以后数据库集群的扩展,使用UUID,因为使用number类型,主键会冲突.

2014年7月23日 18:04
0 0

没听说过,=号在sql中应该可以啊

2010年1月17日 16:47
0 0

试试使用STRCMP(expr1,expr2) 函数:
如果字符串相同,STRCMP()回来0,如果第一参数根据当前的排序次序小于第二个,返回-1,否则返回1。
mysql> select STRCMP('text', 'text2');
        -> -1
mysql> select STRCMP('text2', 'text');
        -> 1
mysql> select STRCMP('text', 'text');
        -> 0

2010年1月16日 16:15
0 0

使用同机器字长相同的整数作为主键效率是最高的

2010年1月15日 18:31
0 0

使用sequence比较好,因为这个使得主键有顺序,查询起来更加的快捷。
而UUID在增加记录时就少了一次查询操作,同时其在数据库中顺序是乱的。

2010年1月15日 17:58
0 0

我们一般都是用varchar(32)的uuid
并且=是可以执行的

2010年1月15日 17:55

相关推荐

    powerdesigner创建oracle_数据库表,设置表主键列为自动增长

    ### PowerDesigner 创建 Oracle 数据库表并设置主键自动增长 #### 一、PowerDesigner与Oracle数据库集成概述 PowerDesigner是一款强大的数据库设计工具,它能够帮助开发者进行数据建模、概念设计以及物理数据库的...

    数据库中表的主键设计原则收藏.doc

    4. 主键类型可以是字符型的,我们可以定义一个字段存放一个数值,在生成时,自动加一,然后再存回去。 主键的设计是数据库设计中非常重要的一步。我们应该遵循上述原则,设计一个好的主键,提高数据库的性能和可...

    java获取数据库主外键

    对于数据库来说,元数据包括数据库名、表名、列名、列类型、约束(如主键、外键)等信息。通过JDBC API可以方便地获取这些元数据。 #### 三、编写代码 接下来,我们将分步骤介绍如何编写Java代码来获取MySQL数据库...

    数据库主键生成资料资源

    数据库主键是数据库设计中的核心概念,它是表中一列或多列的组合,用于唯一地标识每一行数据,确保数据的唯一性和完整性。在数据库系统中,主键扮演着至关重要的角色,它不仅用于区分不同记录,还在建立表间关联时...

    Windchill_数据库表说明.doc

    Windchill 系统中有多个数据库表,用于存储和管理产品相关的数据。本文档将详细介绍 Windchill 系统中常用的数据库表结构与表之间的关系。 1. 对象数据模块 在 Windchill 系统中,对象数据模块是指存储产品相关...

    MySQL数据库主键重复原因分析及处理.pdf

    MySQL数据库主键的类型有两种:单字段主键和复合主键。单字段主键是指由一个字段组成的主键,而复合主键是指由多个字段组成的主键。 在MySQL数据库中,主键可以使用AUTO_INCREMENT机制来自动生成主键值。这可以...

    数据库技术与应用 设置成绩表主键和外键约束-A学习任务书.doc

    2. 在被引用的表中创建字段,类型与主键表对应的主键字段相同。 3. 使用`FOREIGN KEY`关键字声明该字段为外键,并指定引用的主键表和字段。 4. 可以选择启用或禁用外键约束检查,根据数据库管理需求进行设置。 示例...

    从UML类图到关系数据库表的代码生成方法

    关系数据库由表格组成,每个表代表一组相关数据。表中的每一行称为一个记录,每列称为一个字段。关系数据库设计包括确定表结构、字段属性和表间关系等。 1. 表(Table):存储数据的基本单位,每个表有唯一的表名。...

    速达5000数据库表结构物理模型

    - **核算表**:财务相关表,如科目表、凭证表,用于财务核算与报表生成。 - **配置表**:系统设置、权限配置等,控制系统的运行参数。 2. **字段类型与约束**: - 字段类型:包括数值型、字符型、日期型等,不同...

    Oracle数据库创建表tuser设置主键自动增长

    ### Oracle数据库创建表tuser设置主键自动增长 在Oracle数据库中,创建一张包含自动增长主键的表是一项常见的需求。本文将详细介绍如何在Oracle环境中创建一个名为`tuser`的表,并实现其主键自动增长的功能。此外,...

    数据库主键生成GUID

    数据库主键生成GUID 在数据库设计中,选择合适的主键类型是非常重要的。GUID(Global Unique Identifier,全局唯一标识符)是一种常用的主键类型,它可以提供唯一的标识符,用于标识数据库中的每一条记录。 GUID的...

    mysql实现char类型主键自增长

    首先,我们需要创建一个包含CHAR类型主键字段的表。例如,这里创建了一个名为`tb`的表,其中`BH`字段为CHAR(16),用作主键: ```sql CREATE TABLE tb ( BH CHAR(16), content VARCHAR(20), `date` DATETIME, ...

    导出数据库表结构成words

    1. 使用数据库管理工具:许多数据库管理工具如MySQL Workbench、SQL Server Management Studio、Oracle SQL Developer等都提供了导出表结构的功能,可以直接生成文档,包括字段名、数据类型、是否为主键或外键等信息...

    oracle表主键和外键的区别

    在数据库设计中,主键和外键是两个关键的概念,它们在确保数据的完整性和一致性方面发挥着重要作用。主键和外键都是Oracle等关系型数据库管理系统(RDBMS)中的重要概念。 **主键**是定义一个表中起主要作用的数据项...

    删除数据库的所有表、存储过程、主键、外键、索引等

    3. 删除主键和外键:在删除表时,与之相关的主键和外键约束通常会自动删除。但如果需要单独处理,可以使用`ALTER TABLE`语句来删除主键和外键约束。 4. 删除索引:在删除表之前,可以使用`DROP INDEX`语句删除单个...

    图书管理系统数据库表设计.docx

    Resource)**:这个表存储了图书相关的其他资源,如资源编号(rs_id,为主键且自动增长)、资源名称(rs_name,不能为空)、资源简介(rs_synopsis)、资源大小(rs_amount,单位为KB或MB)和资源类型(rs_type,如...

    sqlserver数据库主键

    SQL Server 数据库主键约束详解 在关系型数据库中,主键(Primary Key)是表中的一个或多个字段,它们的值可以唯一地标识表中的每一行记录。主键约束是数据库中的一种约束,它确保了表中的每一行记录的唯一性。 在...

    自动对比2个数据库表结构差异

    首先,我们要理解数据库表结构的基本元素,包括表名、字段(列)、数据类型、主键、外键、索引、约束条件等。对比表结构差异时,我们需要关注这些方面的相同与不同。例如,字段的数量、顺序、数据类型是否一致,以及...

    Oracle|Sqlserver|MySql数据库表结构一键生成工具

    它的表结构包括了表名、字段名、字段类型、主键、外键、索引等元数据。使用该工具,开发者可以快速获取这些信息,并生成清晰的文档,便于团队协作和知识共享。 SQL Server是微软公司推出的一款关系型数据库管理系统...

    sqlserver无主键表的同步方案1

    在描述的场景中,由于医院服务器和数据库版本的限制,使用了SQL Server Integration Services (SSIS) 来解决无主键表的同步问题。SSIS 是一种强大的ETL(提取、转换、加载)工具,能够处理各种数据整合任务。然而,...

Global site tag (gtag.js) - Google Analytics