Mysql:文法:自增列

來源:互聯網
上載者:User
  1. 屬性:自增列不必是:唯一的、primary、正數、bigint
  2. 屬性:auto_increment 是mysql在表列定義中的一個可選屬性,和預設值屬性衝突。
  3. 屬性:必須定義在該列上的索引!
  4. 屬性:應用於number類型的列:包括各種整數、浮點數、定點數
  5. 屬性:自增列可以和普通的數字類型屬性(unsigned、zerofill的)、約束(null、not null、[primary] key、unique [key]、check、foreign key)等組合
  6. 屬性:表只能有一個自增列。該列必須具有索引。不能在該列定義defaut值。
  7. 語句影響:insert 對自增列可以顯示的指定其值進行插入,如果插入的值>種子值,則種子值會自動更新為=該插入的值;即使你一次性插大批資料也是只返回該批次第一行自增後的值!
  8. 語句影響:delete、update 不會影響種子值
  9. 語句影響:truncate 重設種子值到“1”
  10. 語句影響:select * from table_name where auto_increment_col_name is NULL 獲得最後插入的第一行資料;即使你一次性插大批資料也是只返回該批次第一行自增後的值!是ODBC相容文法
  11. 當 向自增列插入NULL時,自增列自增;當 no_auto_value_on_zero=1(enable)時,可以通過向自增列賦值0來產生自增,不推薦!
  12. 插入值後可以通過 last_insert_id () 返回第一行自增後的值,記住:即使是一批插入多條資料,返回的仍然是第一行的值
  13.  特殊的:對於myisam表,特殊的對於myisam引擎的表,你可以在一個多列索引上的第二列上定義自增列:他將在第一索引列上產生自增,可以理解為:在第一索引列上分組,計算該組上的最大值,+1。該形式下:(分組)自增列的種子值總是取該列上的分組 最大值——受delete、update、insert影響。最大的用途應該是分組排序吧
    相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.