最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL如何讓一個表中可以有多個自增列

 更新時間:2022年06月22日 10:02:00   作者:??Java中文社群????  
這篇文章主要介紹了MySQL如何讓一個表中可以有多個自增列,自增列可使用?auto_increment?來實現(xiàn),當一個列被標識為?auto_increment?之后,在添加時如果不給此列設置任何值,或給此列設置?NULL?值時,那么它會使用自增的規(guī)則來填充此列

前言:

自增列可使用 auto_increment 來實現(xiàn),當一個列被標識為 auto_increment 之后,在添加時如果不給此列設置任何值,或給此列設置 NULL 值時,那么它會使用自增的規(guī)則來填充此列。

PS:本文以下內(nèi)容基于 MySQL InnoDB 數(shù)據(jù)庫引擎。

默認情況下自增列的值為 1,每次遞增 1,比如以下建表 SQL:

create table tab_incre(
    id int primary key auto_increment,
    name varchar(250) not null
);

我們在添加時,不給自增列 id 設置任何值,它的執(zhí)行結果如下: 

 從上述結果可以看出自增列默認值為 1,每次遞增 1。

1.手動指定自增值

在創(chuàng)建表的時候可以手動指定自增值,如果不指定自增值,那么它默認會使用 1 作為自增值,

手動指定自增值的 SQL 命令如下:

create table tab_incre(
    id int primary key auto_increment,
    name varchar(250) not null
) auto_increment=50;

 使用“show create table table_name”可以查看表中自增列的自增列值,

如下圖所示: 

 此表的自增值為 50,我們也可以創(chuàng)建一條數(shù)據(jù)來驗證一下自增值是否為 50,

如下圖所示: 

2.手動修改自增值

當表創(chuàng)建之后,我們也可以通過 alter 命令來修改自增列的值,它的修改命令如下:

alter table table_name auto_increment=n;

如果要將 tab_incre 表中的自增值修改為 100,可使用以下 SQL 來實現(xiàn): 

注意事項:

當我們試圖將自增值設置為比自增列中的最大值還要小的值的時候,自增值會自動變?yōu)樽栽隽械淖畲笾?+1 的值,

如下圖所示: 

3.一個表可以有多個自增列嗎?

一個表中只能有一個自增列,這和一個表只能有一個主鍵的規(guī)則類似,當我們嘗試給一個表添加一個自增列時,可以正常添加成功,

如下圖所示: 

 當我們嘗試給一個表添加多個自增列時,會提示只能有一個自增列的報錯信息,

如下圖所示:

4.其他注意事項

除了一個表只能添加一個自增列之外,自增列還需要注意以下兩個問題。

4.1 自增列只能為整數(shù)類型

自增列的字段類型只能為整數(shù)類型(TINYINT、SMALLINT、INT、BIGINT 等),

如下圖所示: 

 當我們使用其他類型來作為自增列的數(shù)據(jù)類型時,會提示如下錯誤: 

4.2 必須配合 key 一起使用

auto_increment 必須配合 key 一起使用,這個 key 可以是 primary key 或 foreign key,如果沒有 key 就會報錯,

如下所示: 

PS:auto_increment 也可以配合唯一約束 unique 一起使用。

總結

自增列的值默認是 1,每次遞增 1,但也可以在創(chuàng)建表的時候手動指定自增值,當然在特殊情況下我們在表被創(chuàng)建之后,也可以通過 alter 修改自增值。一個表中只能有一個自增列,就像一個表中只能有一個主鍵一樣,如果設置多個自增列,那么 SQL 執(zhí)行就會報錯。除此之外還要注意自增列應該為整數(shù)類型,且 auto_increment 需要配合 key 一起使用,這個 key 可以是 primary key 或 foreign key。

到此這篇關于MySQL如何讓一個表中可以有多個自增列的文章就介紹到這了,更多相關MySQL表自增列內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • MySQL外鍵約束的禁用與啟用命令

    MySQL外鍵約束的禁用與啟用命令

    下面小編就為大家?guī)硪黄狹ySQL外鍵約束的禁用與啟用命令。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • MySQL binlog中的事件類型詳解

    MySQL binlog中的事件類型詳解

    這篇文章主要介紹了MySQL binlog中的事件類型詳解,介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下
    2016-08-08
  • 在MySQL中使用GTIDs復制協(xié)議和中斷協(xié)議的教程

    在MySQL中使用GTIDs復制協(xié)議和中斷協(xié)議的教程

    這篇文章主要介紹了在MySQL中使用GTIDs復制協(xié)議和中斷協(xié)議的教程,主要用于多個服務器之間的通信,需要的朋友可以參考下
    2015-04-04
  • Mysql的Explain使用方式及索引總結

    Mysql的Explain使用方式及索引總結

    這篇文章主要介紹了Mysql的Explain使用方式及索引總結,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • MySQL 使用 ORDER BY 排序和 DELETE 刪除記錄的操作過程

    MySQL 使用 ORDER BY 排序和 DELETE 刪

    這篇文章主要介紹了MySQL 使用 ORDER BY 排序和 DELETE 刪除記錄的操作過程,即數(shù)據(jù)庫查詢與數(shù)據(jù)操作,本文通過示例代碼給大家介紹的非常詳細,需要的朋友參考下吧
    2023-11-11
  • mysql是否需要容器化深入分析

    mysql是否需要容器化深入分析

    這篇文章主要為大家介紹了mysql是否需要容器化深入解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09
  • MySQL中的 inner join 和 left join的區(qū)別解析(小結果集驅(qū)動大結果集)

    MySQL中的 inner join 和 left join的區(qū)別解析

    這篇文章主要介紹了MySQL中的 inner join 和 left join的區(qū)別解析,本文通過場景描述給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-05-05
  • MySQL 一則慢日志監(jiān)控誤報的問題分析與解決

    MySQL 一則慢日志監(jiān)控誤報的問題分析與解決

    這篇文章主要介紹了MySQL 一則慢日志監(jiān)控誤報的問題分析與解決,幫助大家更好的理解和使用MySQL,感興趣的朋友可以了解下
    2021-01-01
  • CentOS系統(tǒng)下編譯安裝MySQL以及設置相關yum源的教程

    CentOS系統(tǒng)下編譯安裝MySQL以及設置相關yum源的教程

    這篇文章主要介紹了CentOS系統(tǒng)下編譯安裝MySQL以及設置相關yum源的教程,使用RedHat系的Linux系統(tǒng)為環(huán)境的都可以借鑒,需要的朋友可以參考下
    2015-12-12
  • 關于mysql調(diào)用新手們常犯的11個錯誤總結

    關于mysql調(diào)用新手們常犯的11個錯誤總結

    對于很多新手們來說,使用PHP可以在短短幾個小時之內(nèi)輕松地寫出具有特定功能的代碼。但是,構建一個穩(wěn)定可靠的數(shù)據(jù)庫卻需要花上一些時日和相關技能。下面這篇文章就來總結了關于mysql調(diào)用新手們常犯的十一個錯誤,需要的朋友可以參考學習。
    2017-03-03

最新評論

车险| 裕民县| 石台县| 吉安县| 新沂市| 呼玛县| 灌云县| 环江| 武汉市| 襄垣县| 威海市| 高密市| 肇源县| 拜城县| 开江县| 柘荣县| 九龙县| 新晃| 南宫市| 潍坊市| 金沙县| 福海县| 呼玛县| 芜湖市| 庆安县| 安吉县| 长宁区| 扎赉特旗| 陈巴尔虎旗| 百色市| 永州市| 华坪县| 海阳市| 昆山市| 蒲城县| 新郑市| 永年县| 柞水县| 揭西县| 乡宁县| 云阳县|