mysql - 如何为从 100 开始并在 MySQL 中递增 5 的数字创建序列?
问题描述
我需要一个 ColumnID 的值,它是一个主键,从 100 开始并以 5 递增。在填充表之前,要求将此条件作为约束包含在内。我已经创建了表,我只需要添加那个约束。我知道我不能使用 AUTO_INCREMENT 因为增加只有 1。有没有办法在 MySQL 中做到这一点?
解决方案
MySQL 不提供任何内置函数来为表的行或列创建序列。但是我们可以通过 SQL 查询来生成它。
例子:
让我们借助以下示例来理解它。首先,我们需要创建一个新表并确保有一列具有该AUTO_INCREMENT
属性,并且该列也作为 PRIMARY KEY。
执行以下查询以创建表:
CREATE TABLE Insects (
Id INT AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(30) NOT NULL,
Type VARCHAR(30) NOT NULL,
Origin VARCHAR(30) NOT NULL
);
然后您可以更改您的列以从另一个值开始:
ALTER TABLE Insects AUTO_INCREMENT=100;
你可以在这里查看。
推荐阅读
- python-3.x - 如何解决“模块‘pandas’没有属性‘scatter_matrix’”错误?
- css - 为什么 CSS 在 `npm run dev` 和 `npm run build` 之间呈现不同?
- c# - C# WPF 中的占位符文本框 - 无法绑定 DepedencyProperty
- android - 使用自定义仪器未找到仪器测试 - 条件仪器?
- swift - Swift:如何避免在所有继承类中重写这个 init()?
- jenkins - 无法通过 Jenkins 将笑话测试用例报告发布到 SonarQube 6.1 和 SonarScanner 3.3
- r - 将矩阵从 288*2 转换为 48*6
- react-native - 如何使用 Detox 关闭 SKStoreReview
- angular - API响应错误时如何在Angular Interceptor中获取所有http响应
- sql - 从 xmltype/soap oracle 中提取值