gpt4 book ai didi

java - mysql数据库中特定列增量

转载 作者:行者123 更新时间:2023-11-30 00:12:16 24 4
gpt4 key购买 nike

我有一个表 Student,其列名称为 Enroll no(auto_increment)、name、class、section、roll no(auto_increment)。现在我需要增加卷数,无论何时我更改类(class)或部分,无论注册否,任何列都不应从 1 开始。

最佳答案

一种解决方案是对列 roll_no 使用某种默认值(在本例中为 1),并更改表架构,以便列 roll_no 不会出现使用自动递增。然后,每当您 INSERT 一条新记录时,该记录的 roll_no 字段的值为 1。因此,roll_no 列将成为计算字段当您更新类和节字段时。

来自 MySQL 5.1 手册的 CREATE MySQL 5.1 Manual: CREATE

column_definition:
data_type [NOT NULL | NULL] [DEFAULT default_value]
[AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY]
[COMMENT 'string']
[COLUMN_FORMAT {FIXED|DYNAMIC|DEFAULT}]
[STORAGE {DISK|MEMORY|DEFAULT}]
[reference_definition]

请注意,您可以为列指定 DEFAULT 值(请参见上面代码的第 2 行)。这是一个不完美的模板,可以帮助您继续前进。再次强调,如果需要,请使用文档。

CREATE TABLE foo(
enroll_no int AUTO_INCREMENT PRIMARY KEY,
name (blah),
class (blah),
section (blah),
roll_no NOT NULL DEFAULT 1 COMMENT 'Must be calculated before UPDATEing class or section.')
ENGIN=InnoDB DEFAULT CHARSET =utf8;

设置此系统后,您可以使用 SELECT 查询记录的 roll_no 字段的当前值,然后使用 UPDATE 更新类或节字段。获得 roll_no 字段的当前值后,尝试向其添加 1 并将该结果用作 UPDATE 值。

我对 SQL 有点生疏,而且时间也不够,但我认为它会起作用。如果您遇到困难,请使用有关嵌套查询的良好引用。

关于java - mysql数据库中特定列增量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23954334/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com