通过API或网页公开数据库自增id

2023-12-13

我认为不公开自动递增的数据库 ID(帐户、产品等)是更好的方法。我们也许可以使用 UUID 并通过 API 或网页公开它们。

但我查了一下,很多大公司似乎并不关心:

  • 谷歌、亚马逊、Facebook、Twitter(似乎都有数字 自动递增帐户 ID)
  • Macys 和 Ebay 显示自动递增的产品 ID(或网络 ID) id

亚马逊似乎确实关心的一个案例:

  • 亚马逊确实在其产品目录中使用 ASIN 编号(其中 据说内部链接到他们的数字自动递增数据库 产品 ID。)

那么,在使用 UUID 时,我们是否试图解决一个不存在的问题?只是不值得花时间和精力吗?


关于在帐户表中使用自动递增 id,以下是它不是一个好主意的一些原因:

  1. 序列号向公众公开表中的记录数以及在一段时间内采样的表的增长率。
  2. 如果 api 的安全性很差,那么只需增加 id 并进行 api 调用,就可以抓取数据库中的所有记录,直到检索到所有数据。
  3. 当使用自动递增id并插入多个相关实体时,您需要多次调用数据库才能将实体插入数据库中。如果使用 UUID,您可以构造整个对象集,而无需与数据库交互。例如,对于订单标题和订单行项目,您需要插入订单标题,获取主 ID,然后插入具有订单标题 ID 的订单行项目。

  4. 当将数据从开发迁移到暂存或暂存到实时时,如果使用自动增量 ID 和外键等,插入新数据可能会很困难。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过API或网页公开数据库自增id 的相关文章

  • 将第三个表链接到多对多关联中的桥接表

    设计这个数据库的正确方法是什么 这是我设置表格的方式 我在名为 教师 的表和名为 仪器 的表之间存在多对多关系 然后我有一个连接两者的桥接表 我想将另一个表与 BRIDGE 表关联起来 意思是乐器 老师的组合 该表有 3 行 指定老师可以教
  • 获取/发布到 RESTful Web 服务

    我需要从 VB6 对 RESTful Web 服务进行一些 GET 和 POST 操作 最好和最简单的方法是什么 您需要添加对 MSXML 库的引用 Dim sUrl As String Dim response As String Dim
  • REST 将多个输入传递给 GET 方法

    我在 RAD 中部署了一个简单的基于 REST 的应用程序 使用以下方式访问简单的 URLhttp localhost
  • 将 List 转换为 JSON

    Hi guys 有人可以帮助我 如何将我的 HQL 查询结果转换为带有对象列表的 JSON 并通过休息服务获取它 这是我的服务方法 它返回查询结果列表 Override public List
  • Android REST API 连接

    我有点傻 对此感到抱歉 我编写了一个 API 它返回一些 JSON 我的目标是从 Android 应用程序使用此 API 我已经尝试过使用 AsyncTask 但失败了 我想像这样使用它 调用该类 告知 URL 和结果的类型 哪个json
  • .NET 的 BLOB 分布式存储?

    我正在寻找一个经过相当好的测试的库 服务器来存储持久的分布式哈希表 我对使用基于 SQL 的解决方案犹豫不决 因为数据是高度面向文档的 由数百万个约 64KB 的 blob 组成 只有一个索引 由所述 BLOB 的哈希计算 并且需要能够进行
  • java ResultSet,使用MAX sql函数

    你好 这就是我想要的 我连接到数据库并检索 UniqueId 列的最大元素 并将其分配给名为 maxID 的整数变量 这是我的方法 int maxID 0 Statement s2 con createStatement s2 execut
  • 通过 PayPal REST API 示例获得折扣?

    PayPal GURUS 我需要帮助 如何插入折扣 我使用 REST API 可能是某个 可以显示代码示例吗 有什么方法可以使用 PHP REST API 发送折扣金额吗 目前 REST 支付 API 不支持折扣 您最好的选择是计算您端的折
  • 用于捕获审计跟踪的数据库设计的想法[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 如何维护数据库中的数据日志 我必须维护对每一行所做的每次更改的日志 这意味着我不能允许DELETE and UPDATE待执行 我怎样才能保留这
  • 使用 TFS REST API 获取 Git 提交的最新关联工作项

    我正在尝试获取关联的工作项使用 TFS REST API 进行 GIT 提交 https www visualstudio com en us docs integrate api git commits 我的请求 URL 如下所示 htt
  • 这是 Box API v2 获取事件时的错误吗

    使用 BOX API v2 从 Box 获取事件时 我发现了一个奇怪的行为 我得到的场景如下 使用 box API v1 将 14 个文件上传到 box net 使用stream position now 获取事件 这给出了流位置 例如12
  • 在 C 的公共 API 函数中使用枚举参数是个好主意吗?

    我正在设计一个 C API 其中必须提供一种设置一些双值选项的方法 为了识别选项 我使用以下枚举 typedef enum OptionA OptionB Option 使用是一个好主意吗Option作为公共 API 函数中的参数类型 in
  • 如何停止在 mongodb 集合中插入重复文档

    让我们有一个MongoDB包含三个文档的集合 db collection find id user A title Physics Bank Bank A id user A title Chemistry Bank Bank B id u
  • 串行类型的外键 - 确保始终手动填充

    我有两个表 国家和地区 CREATE TABLE Countries id SERIAL name VARCHAR 40 NOT NULL PRIMARY KEY id CREATE TABLE Regions id SERIAL coun
  • 为 Zend 应用程序提供数据库处理程序的“正确”方法是什么

    假设您严格遵守某个组织的惯例Zend应用程序 http framework zend com manual en zend application html 您应该在哪里设置数据库处理程序以供应用程序开发人员访问 我知道如何设置ZendDb
  • 数据库字段中的逗号分隔值

    我有一个产品表 该表中的每一行对应一个产品 并由唯一的 ID 标识 现在 每个产品都可以有多个与该产品关联的 代码 例如 Id Code 0001 IN ON ME OH 0002 ON VI AC ZO 0003 QA PS OO ME
  • rake db:migrate db:reset 和 db:schema:load 之间的区别

    和 之间的不同rake db migrate and rake db reset我很清楚 我不明白的是如何rake db schema load与前两者不同 只是为了确保我在同一页面上 rake db migrate 运行尚未运行的迁移 r
  • 删除数据库中的行后如何重新排序ID

    我正在使用 C 来制作具有 sql 数据库的程序 在数据库中我有一个名为Workers 它有一个自动增量和主键ID column 当我删除一条记录时 ID 之间会出现间隙 删除记录后如何重新排序 ID UPDATE 我要做的就是找到记录后将
  • 该Web容器尚未启动@Glassfish 4.0.01 web

    所以 这就是我对我的服务进行 REST 调用后得到的结果 2014 04 25T01 06 52 393 0200 glassfish 4 0 WARNING javax enterprise web tid ThreadID 21 Thr
  • Flutter 中有预填充数据库使用的示例吗?

    Flutter 中有预填充数据库使用的示例吗 我不需要 CRUD 示例 此时我只需要从数据库读取数据即可 我是 Flutter 新手 所以一步一步的教程会很好 您可以将您的应用程序与预填充的 sqlite 数据库捆绑在一起assets文件夹

随机推荐

  • Android:如何防止软键盘将我的视图向上推?

    我的应用程序底部有一个垂直滑动抽屉 当软键盘打开时 它会将抽屉的标签向上推 使其位于键盘顶部 我实际上希望它保留在屏幕底部 在显示键盘时隐藏 还有其他人遇到这个问题吗 知道如何解决吗 您只需切换您的 ActivitywindowSoftIn
  • WP7背景音频资源不再可用

    我在用着BackgroundAudioPlayer用于我的 Windows Phone 7 音乐和视频应用程序 播放一些音乐后 我使用MediaPlayerLauncher 然后按 返回 返回到我的应用程序 每当我使用时Background
  • 如何选择模板标签内的元素? [复制]

    这个问题在这里已经有答案了
  • 根据另一个查找/映射数组替换数组中的键

    我有一个以下形式的关联数组key gt value其中 key 是一个数值 但它不是连续的数值 键实际上是一个 ID 号 值是一个计数 这对于大多数情况来说都很好 但是我想要一个函数来获取人类可读的数组名称并将其用作键 而不更改值 我没有看
  • 如何在 Matplotlib 中绘制没有线和点的误差条图?

    我目前正在使用以下代码来绘制误差条图 plt errorbar log I mean log V2 mean xerr yerr 然而 最终结果显示每个误差条交点的中心有一个圆形点 如何按照科学工作的要求只绘制误差线而不绘制中心点 use
  • 空 XmlHttp 响应文本(仅限 Google Chrome)

    我的 Google Chrome 聊天脚本有问题 有时 响应文本是空的 直到您重新加载页面 但有时它运行良好 它每秒打开一个 xmlhttp 连接 如果第一个连接好 那么后面的连接也好 在 Firefox 中 它总是好的 var url t
  • 了解 Javascript 回调参数

    关于回调的一些问题 使用一些示例代码 function uploadPhoto params var win function response console log Success console log Response respon
  • 有没有办法从控制器获取计划任务作为数组? [复制]

    这个问题在这里已经有答案了 我想从控制器获取计划任务列表 一些套餐 articles乃至堆栈溢出解释如何从命令显示它 但我没有找到如何在没有命令的情况下执行此操作 我的目标是获取一系列计划任务及其日期和描述 有没有办法从控制器获取计划任务作
  • 如何替换字符串中的括号

    我有一个包含标记的字符串列表 令牌是 ARG 令牌名称 我还有令牌的哈希图 其中键是令牌 值是我想要替换令牌的值 当我使用 replaceAll 方法时出现错误 java util regex PatternSyntaxException
  • mysql_real_escape_string() 无法建立到服务器的链接

    当我尝试使用 mysql real escape string 时出现此错误 Access denied for user ODBC localhost using password NO 我不明白为什么我必须连接到数据库来检查这些值是否可
  • 将 JSF 与 Spring 集成

    我还没有实现任何代码 我仍在研究新应用程序的整体架构 这将是我第一次使用JSF Spring 我需要将 Web 服务放在 Spring 服务 bean 业务逻辑层 前面 因为这些 bean 可以被表示层之外的其他应用程序访问 在为应用程序定
  • Scala 逆变和协变

    我正在研究 scala 的类型系统 发现了一个奇怪的情况 我有充分的理由相信 我不懂协变和协变 这是我的问题案例 我有两个类 Point 和 ColorPoint 它是 Point 的子类 class Point val x Int val
  • jQuery UI 按钮未“取消单击”

    http jqueryui com demos button default它们使用起来非常简单 但由于某种原因 我的按钮没有 取消点击 也就是说 在我单击按钮后 它保持其悬停样式 如果我将其 onClick 函数设置为仅执行一些简单的操作
  • 有没有办法检索 Dialogflow 中的对话历史记录?

    有没有办法获得用户和代理之间的完整对话 与我通过单击历史标签获得的结果非常相似 但是以编程方式获得 重点是将用户和代理之间的交互保存为文本 提前谢谢各位了 没有 API 可以直接从 Dialogflow 检索历史记录 但您可以做的是启用日志
  • 在python 2.7中同时运行脚本多次

    您好 我正在尝试多次运行脚本 但根据我的理解 希望这同时发生 我将一起使用子进程和线程 但是 当我运行它时 它看起来仍然是按顺序执行的 有人可以帮助我 以便我可以让它一遍又一遍地运行相同的脚本 但同时 它实际上有效但速度很慢吗 编辑忘记了最
  • 在 UIWebView 中显示 .rtf 文件

    我正在尝试显示为我的服务器下载的 rft 文件 我首先使用 UITextView 但我可以看到文本 但也显示了很多编码和与颜色和格式相关的奇怪字符 不管怎样 在这里搜索我发现 UITextView 无法正确显示 rtf 文本 因此 我继续尝
  • 如何在 R 中以美元格式设置条形图标签的格式?

    希望在 x 轴上的标签和条形图中的数字上添加美元符号 下面是我的代码和图表 YTD bar lt ggplot TYSales LYSales aes x as character FSCL YR y SALES geom bar stat
  • 如何在 Nuxt.js 中的内联样式中使用背景图像

    我有一个 vue我想在其中使用内联样式的文件 img src static img info production pic4 jpg class t22 a href page fresco art class btn t23 First
  • Tomcat 上的 Jersey REST 服务出现 404 错误

    我已经查看了有关该主题的所有可用答案 要么我面临一个完全不同的问题 要么我错过了一些重要的事情 服务等级 package org test import javax ws rs GET import javax ws rs Path imp
  • 通过API或网页公开数据库自增id

    我认为不公开自动递增的数据库 ID 帐户 产品等 是更好的方法 我们也许可以使用 UUID 并通过 API 或网页公开它们 但我查了一下 很多大公司似乎并不关心 谷歌 亚马逊 Facebook Twitter 似乎都有数字 自动递增帐户 I