This is an automated email from the ASF dual-hosted git repository.

yiguolei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new ffae2a74863 [Doc](auto-inc) Add doc for auto increment start value 
(#30741)
ffae2a74863 is described below

commit ffae2a7486364b2b967eda24be1699356c61f7cb
Author: abmdocrt <[email protected]>
AuthorDate: Sat Feb 3 20:17:04 2024 +0800

    [Doc](auto-inc) Add doc for auto increment start value (#30741)
---
 docs/en/docs/advanced/auto-increment.md            | 53 ++++++++++++++--------
 .../Create/CREATE-TABLE.md                         |  7 +--
 docs/zh-CN/docs/advanced/auto-increment.md         | 53 ++++++++++++++--------
 .../Create/CREATE-TABLE.md                         |  5 +-
 4 files changed, 75 insertions(+), 43 deletions(-)

diff --git a/docs/en/docs/advanced/auto-increment.md 
b/docs/en/docs/advanced/auto-increment.md
index 98f1ee8e21f..9cc51cae8c0 100644
--- a/docs/en/docs/advanced/auto-increment.md
+++ b/docs/en/docs/advanced/auto-increment.md
@@ -48,7 +48,7 @@ Doris ensures that the values generated on the auto-increment 
column are dense,
 
 ## Syntax
 
-To use auto-increment columns, you need to add the `AUTO_INCREMENT` attribute 
to the corresponding column during table creation 
([CREATE-TABLE](../../sql-manual/sql-reference/Data-Definition-Statements/Create/CREATE-TABLE)).
+To use auto-increment columns, you need to add the `AUTO_INCREMENT` attribute 
to the corresponding column during table creation 
([CREATE-TABLE](../../sql-manual/sql-reference/Data-Definition-Statements/Create/CREATE-TABLE)).
 To manually specify the starting value for an auto-increment column, you can 
do so by using the `AUTO_INCREMENT(start_value)` statement when creating the 
table. If not specified, the default starting value is 1.
 
 ### Examples
 
@@ -65,7 +65,21 @@ To use auto-increment columns, you need to add the 
`AUTO_INCREMENT` attribute to
   "replication_allocation" = "tag.location.default: 3"
   );
 
-2. Creating a Duplicate table with one value column as an auto-increment 
column:
+2. Creating a Duplicate table with one key column as an auto-increment column, 
and set start value is 100:
+
+  ```sql
+  CREATE TABLE `demo`.`tbl` (
+        `id` BIGINT NOT NULL AUTO_INCREMENT(100),
+        `value` BIGINT NOT NULL
+  ) ENGINE=OLAP
+  DUPLICATE KEY(`id`)
+  DISTRIBUTED BY HASH(`id`) BUCKETS 10
+  PROPERTIES (
+  "replication_allocation" = "tag.location.default: 3"
+  );
+  ```
+
+3. Creating a Duplicate table with one value column as an auto-increment 
column:
 
   ```sql
   CREATE TABLE `demo`.`tbl` (
@@ -81,7 +95,7 @@ To use auto-increment columns, you need to add the 
`AUTO_INCREMENT` attribute to
   );
   ```
 
-3. Creating a Unique tbl table with one key column as an auto-increment column:
+4. Creating a Unique tbl table with one key column as an auto-increment column:
 
   ```sql
   CREATE TABLE `demo`.`tbl` (
@@ -97,7 +111,7 @@ To use auto-increment columns, you need to add the 
`AUTO_INCREMENT` attribute to
   );
   ```
 
-4. Creating a Unique tbl table with one value column as an auto-increment 
column:
+5. Creating a Unique tbl table with one value column as an auto-increment 
column:
 
   ```sql
   CREATE TABLE `demo`.`tbl` (
@@ -117,6 +131,7 @@ To use auto-increment columns, you need to add the 
`AUTO_INCREMENT` attribute to
 - Only Duplicate model tables and Unique model tables can contain 
auto-increment columns.
 - A table can contain at most one auto-increment column.
 - The type of the auto-increment column must be BIGINT and must be NOT NULL.
+- The manually specified starting value for an auto-increment column must be 
greater than or equal to 0.
 
 ## Usage
 
@@ -149,9 +164,9 @@ mysql> select * from tbl order by id;
 +------+-------+-------+
 | id   | name  | value |
 +------+-------+-------+
-|    0 | Bob   |    10 |
-|    1 | Alice |    20 |
-|    2 | Jack  |    30 |
+|    1 | Bob   |    10 |
+|    2 | Alice |    20 |
+|    3 | Jack  |    30 |
 +------+-------+-------+
 3 rows in set (0.05 sec)
 ```
@@ -173,11 +188,11 @@ mysql> select * from tbl order by id;
 +------+-------+-------+
 | id   | name  | value |
 +------+-------+-------+
-|    0 | Bob   |    10 |
-|    1 | Alice |    20 |
-|    2 | Jack  |    30 |
-|    3 | Tom   |    40 |
-|    4 | John  |    50 |
+|    1 | Bob   |    10 |
+|    2 | Alice |    20 |
+|    3 | Jack  |    30 |
+|    4 | Tom   |    40 |
+|    5 | John  |    50 |
 +------+-------+-------+
 5 rows in set (0.04 sec)
 ```
@@ -193,13 +208,13 @@ mysql> select * from tbl order by id;
 +------+---------+-------+
 | id   | name    | value |
 +------+---------+-------+
-|    0 | Bob     |    10 |
-|    1 | Alice   |    20 |
-|    2 | Jack    |    30 |
-|    3 | Tom     |    40 |
-|    4 | John    |    50 |
-|    5 | Doris   |    60 |
-|    6 | Nereids |    70 |
+|    1 | Bob     |    10 |
+|    2 | Alice   |    20 |
+|    3 | Jack    |    30 |
+|    4 | Tom     |    40 |
+|    5 | John    |    50 |
+|    6 | Doris   |    60 |
+|    7 | Nereids |    70 |
 +------+---------+-------+
 7 rows in set (0.04 sec)
 ```
diff --git 
a/docs/en/docs/sql-manual/sql-reference/Data-Definition-Statements/Create/CREATE-TABLE.md
 
b/docs/en/docs/sql-manual/sql-reference/Data-Definition-Statements/Create/CREATE-TABLE.md
index d2d68aa292d..cfa612bca4d 100644
--- 
a/docs/en/docs/sql-manual/sql-reference/Data-Definition-Statements/Create/CREATE-TABLE.md
+++ 
b/docs/en/docs/sql-manual/sql-reference/Data-Definition-Statements/Create/CREATE-TABLE.md
@@ -58,7 +58,7 @@ Column definition list:
 
     Column definition:
 
-    `column_name column_type [KEY] [aggr_type] [NULL] [AUTO_INCREMENT] 
[default_value] [on update current_timestamp] [column_comment]`
+    `column_name column_type [KEY] [aggr_type] [NULL] 
[AUTO_INCREMENT(auto_inc_start_value)] [default_value] [on update 
current_timestamp] [column_comment]`
 
     * `column_type`
 
@@ -115,11 +115,12 @@ Column definition list:
         BITMAP_UNION: The aggregation mode of BIMTAP type columns, which 
performs the union aggregation of bitmaps.
         ```
 
-    * `AUTO_INCREMENT`(only avaliable in master branch)
+    * `AUTO_INCREMENT(auto_inc_start_value)`(Available from version 2.1 and 
later.)
 
         To indicate if the column is a auto-increment column. Auto-increment 
column can be used to generate a unique identity for new row. If no values are 
assgined for auto-increment column when inserting, Doris will generate sequence 
numbers automatically. You can also assign the auto-increment column with NULL 
literal to indicate Doris to generate sequence numbers. It should be noted 
that, for performance reasons, BE will cache some values of auto-increment 
column in memory. Therefore [...]
         A table can have at most one auto-incremnt column. The auto-increment 
column should be BIGINT type and be NOT NULL.
-        Both Duplicate model table and Unique model table support 
auto-increment column
+        Both Duplicate model table and Unique model table support 
auto-increment column.
+        You can specify the starting value for an auto-increment column by 
providing `auto_inc_start_value. If not specified, the default starting value 
is 1.
 
     * `default_value`
 
diff --git a/docs/zh-CN/docs/advanced/auto-increment.md 
b/docs/zh-CN/docs/advanced/auto-increment.md
index 140546299f8..5a5129348ea 100644
--- a/docs/zh-CN/docs/advanced/auto-increment.md
+++ b/docs/zh-CN/docs/advanced/auto-increment.md
@@ -49,7 +49,7 @@ Doris保证自增列上自动生成的值是稠密的,但**不能保证**在
 
 ## 语法
 
-要使用自增列,需要在建表[CREATE-TABLE](../../sql-manual/sql-reference/Data-Definition-Statements/Create/CREATE-TABLE)时为对应的列添加`AUTO_INCREMENT`属性。
+要使用自增列,需要在建表[CREATE-TABLE](../../sql-manual/sql-reference/Data-Definition-Statements/Create/CREATE-TABLE)时为对应的列添加`AUTO_INCREMENT`属性。
 若要手动指定自增列起始值,可以通过建表时`AUTO_INCREMENT(start_value)`语句指定,如果未指定,则默认起始值为1。
 
 ### 示例
 
@@ -67,7 +67,21 @@ Doris保证自增列上自动生成的值是稠密的,但**不能保证**在
   );
   ```
 
-2. 创建一个Dupliciate模型表,其中一个value列是自增列
+2. 创建一个Dupliciate模型表,其中一个key列是自增列,并设置起始值为100
+
+  ```sql
+  CREATE TABLE `demo`.`tbl` (
+        `id` BIGINT NOT NULL AUTO_INCREMENT(100),
+        `value` BIGINT NOT NULL
+  ) ENGINE=OLAP
+  DUPLICATE KEY(`id`)
+  DISTRIBUTED BY HASH(`id`) BUCKETS 10
+  PROPERTIES (
+  "replication_allocation" = "tag.location.default: 3"
+  );
+  ```
+
+3. 创建一个Dupliciate模型表,其中一个value列是自增列
 
   ```sql
   CREATE TABLE `demo`.`tbl` (
@@ -83,7 +97,7 @@ Doris保证自增列上自动生成的值是稠密的,但**不能保证**在
   );
   ```
 
-3. 创建一个Unique模型表,其中一个key列是自增列
+4. 创建一个Unique模型表,其中一个key列是自增列
 
   ```sql
   CREATE TABLE `demo`.`tbl` (
@@ -99,7 +113,7 @@ Doris保证自增列上自动生成的值是稠密的,但**不能保证**在
   );
   ```
 
-4. 创建一个Unique模型表,其中一个value列是自增列
+5. 创建一个Unique模型表,其中一个value列是自增列
 
   ```sql
   CREATE TABLE `demo`.`tbl` (
@@ -119,6 +133,7 @@ Doris保证自增列上自动生成的值是稠密的,但**不能保证**在
 1. 仅Duplicate模型表和Unique模型表可以包含自增列。
 2. 一张表最多只能包含一个自增列。
 3. 自增列的类型必须是BIGINT类型,且必须为NOT NULL。
+4. 自增列手动指定的起始值必须大于等于0。
 
 ## 使用方式
 
@@ -150,9 +165,9 @@ mysql> select * from tbl order by id;
 +------+-------+-------+
 | id   | name  | value |
 +------+-------+-------+
-|    0 | Bob   |    10 |
-|    1 | Alice |    20 |
-|    2 | Jack  |    30 |
+|    1 | Bob   |    10 |
+|    2 | Alice |    20 |
+|    3 | Jack  |    30 |
 +------+-------+-------+
 3 rows in set (0.05 sec)
 ```
@@ -174,11 +189,11 @@ mysql> select * from tbl order by id;
 +------+-------+-------+
 | id   | name  | value |
 +------+-------+-------+
-|    0 | Bob   |    10 |
-|    1 | Alice |    20 |
-|    2 | Jack  |    30 |
-|    3 | Tom   |    40 |
-|    4 | John  |    50 |
+|    1 | Bob   |    10 |
+|    2 | Alice |    20 |
+|    3 | Jack  |    30 |
+|    4 | Tom   |    40 |
+|    5 | John  |    50 |
 +------+-------+-------+
 5 rows in set (0.04 sec)
 ```
@@ -194,13 +209,13 @@ mysql> select * from tbl order by id;
 +------+---------+-------+
 | id   | name    | value |
 +------+---------+-------+
-|    0 | Bob     |    10 |
-|    1 | Alice   |    20 |
-|    2 | Jack    |    30 |
-|    3 | Tom     |    40 |
-|    4 | John    |    50 |
-|    5 | Doris   |    60 |
-|    6 | Nereids |    70 |
+|    1 | Bob     |    10 |
+|    2 | Alice   |    20 |
+|    3 | Jack    |    30 |
+|    4 | Tom     |    40 |
+|    5 | John    |    50 |
+|    6 | Doris   |    60 |
+|    7 | Nereids |    70 |
 +------+---------+-------+
 7 rows in set (0.04 sec)
 ```
diff --git 
a/docs/zh-CN/docs/sql-manual/sql-reference/Data-Definition-Statements/Create/CREATE-TABLE.md
 
b/docs/zh-CN/docs/sql-manual/sql-reference/Data-Definition-Statements/Create/CREATE-TABLE.md
index 9eba3f809af..e288dea49a5 100644
--- 
a/docs/zh-CN/docs/sql-manual/sql-reference/Data-Definition-Statements/Create/CREATE-TABLE.md
+++ 
b/docs/zh-CN/docs/sql-manual/sql-reference/Data-Definition-Statements/Create/CREATE-TABLE.md
@@ -56,7 +56,7 @@ distribution_desc
 * `column_definition`
     列定义:
 
-    `column_name column_type [KEY] [aggr_type] [NULL] [AUTO_INCREMENT] 
[default_value] [on update current_timestamp] [column_comment]`
+    `column_name column_type [KEY] [aggr_type] [NULL] 
[AUTO_INCREMENT(auto_inc_start_value)] [default_value] [on update 
current_timestamp] [column_comment]`
     * `column_type`
         列类型,支持以下类型:
         ```
@@ -106,11 +106,12 @@ distribution_desc
         HLL_UNION:HLL 类型的列的聚合方式,通过 HyperLogLog 算法聚合。
         BITMAP_UNION:BIMTAP 类型的列的聚合方式,进行位图的并集聚合。
         ```
-    * `AUTO_INCREMENT`(仅在master分支可用)
+    * `AUTO_INCREMENT(auto_inc_start_value)`(2.1版本及以后可用)
             
         
是否为自增列,自增列可以用来为新插入的行生成一个唯一标识。在插入表数据时如果没有指定自增列的值,则会自动生成一个合法的值。当自增列被显示地插入NULL时,其值也会被替换为生成的合法值。需要注意的是,处于性能考虑,BE会在内存中缓存部分自增列的值,所以自增列自动生成的值只能保证单调性和唯一性,无法保证严格的连续性。
         一张表中至多有一个列是自增列,自增列必须是BIGINT类型,且必须为NOT NULL。
         Duplicate模型表和Unique模型表均支持自增列。
+        可以通过给定`auto_inc_start_value`的方式指定自增列的起始值,如果不指定,则默认起始值为1。
 
   * `default_value`
         列默认值,当导入数据未指定该列的值时,系统将赋予该列default_value。


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to