在 MySQL 中重置自动增量
本教程将介绍如何在 MySQL 表中重置自动增量。
大多数使用 MySQL 的企业和组织需要同时将值插入到多个表中。虽然不可能将插入的记录的所有字段都设为非空,但在根据特定条件获取这些记录时可能会导致错误或引发错误。
为了解决这个问题,MySQL 为我们提供了一个自动增量字段。它帮助我们在每次插入新记录时在 MySQL 中添加或更新特定值。它通常用于与主键关联的列。
随着这个变量的值不断增加,分析师必须控制这个变量的值。可以使用 ALTER TABLE
语句来完成。
让我们尝试更深入地理解这一点。
但是,在开始之前,我们会创建两个虚拟表来使用。在这里,我们创建了一个表 student_dates_1
,以及几行。
-- create the table student_dates_3
CREATETABLEstudent_dates_3(stu_idintNOTNULLAUTO_INCREMENT,stu_firstNamevarchar(255)DEFAULTNULL,stu_datedate,primarykey(stu_id));
使用 INSERT
语句在 student_dates
表中插入条目
前面的查询创建了一个名为 student_dates
的表。现在在 INSERT
语句的帮助下,让我们尝试为一些学生添加数据。此操作可按如下方式进行:
-- insert rows to the table student_dates_3
INSERTINTOstudent_dates_3(stu_firstName,stu_date)VALUES("Preet",STR_TO_DATE('24-May-2005','%d-%M-%Y')),("Dhruv",STR_TO_DATE('14-June-2001','%d-%M-%Y')),("Mathew",STR_TO_DATE('13-December-2020','%d-%M-%Y')),("Jeet",STR_TO_DATE('14-May-2003','%d-%M-%Y')),("Steyn",STR_TO_DATE('19-July-2002','%d-%M-%Y'));
上述代码将在表 student_dates
中输入学生数据。
SELECT*fromstudent_dates_3;
输出:
stu_id stu_firstName stu_date
1 Preet 2005-05-24
2 Dhruv 2001-06-14
3 Mathew 2020-12-13
4 Jeet 2003-05-14
5 Steyn 2002-07-19
重置 AUTO_INCREMENT
的值
要将 AUTO_INCREMENT
变量的值更新为特定值,可以使用以下语法。
ALTERTABLEname_of_the_tableAUTO_INCREMENT=x;
在上述查询中,x
表示需要添加到所述表中的更新值。此逻辑可用于在以下查询的帮助下更新 student_dates_3
表的变量值。
ALTERTABLEstudent_dates_3AUTO_INCREMENT=100;
如果我们添加记录,主键 stu_id
会自动更新为 AUTO_INCREMENT
变量中设置的值。现在让我们在 student_dates_3
表中插入一个值。
-- insert rows to the table student_dates_3
INSERTINTOstudent_dates_3(stu_firstName,stu_date)VALUES("Rutvik",STR_TO_DATE('16-January-2001','%d-%M-%Y'));
我们将名为 Rutvik
的学生的 stu_id
设置为 100
。这可以通过以下查询进行检查。
SELECT*fromstudent_dates_3;
输出:
stu_id stu_firstName stu_date
1 Preet 2005-05-24
2 Dhruv 2001-06-14
3 Mathew 2020-12-13
4 Jeet 2003-05-14
5 Steyn 2002-07-19
6 Rutvik 2001-16-01
因此,在 ALTER TABLE
语句和 AUTO_INCREMENT
关键字的帮助下,我们可以有效地更新 AUTO_INCREMENT
字段的值,从而自动更新与主键关联的列中记录的值。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。