Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 » MobiLink - 服务器管理 » MobiLink 服务器技术 » 同步技术 » 唯一主键

 

使用 GLOBAL AUTOINCREMENT

在 SQL Anywhere 和 UltraLite 数据库中,可以将缺省列值设置为 GLOBAL AUTOINCREMENT。您可以对要在其中保持唯一值的任何列使用此缺省值,但它对主键特别有用。

GLOBAL AUTOINCREMENT 值在远程数据库间分区,形成连续的值范围。可能值的集是有限的,每个范围越大,留下的可用范围就越小。必须谨慎设置所需范围的正确大小。范围可能会用完,但您可以检测到此现象并指派一个新值。 请参见如何选择缺省值

 ♦ 使用 GLOBAL AUTOINCREMENT 列
  1. 将该列声明为 GLOBAL AUTOINCREMENT 列。

    如果您指定了 DEFAULT GLOBAL AUTOINCREMENT,则将对该列的值域进行分区。每个分区都包含相同数目的值。例如,如果将数据库中一个整数列的分区大小设置为 1000,则一个分区的范围是从 1001 到 2000,下一个分区从 2001 到 3000,依此类推。

    请参见声明 DEFAULT GLOBAL AUTOINCREMENT

  2. 设置 global_database_id 值。

    SQL Anywhere 和 UltraLite 数据库只从用数据库编号唯一标识的分区中提供数据库中的缺省值。例如,如果指定数据库的标识号为 10,分区大小为 1000,则将在 10001-11000 范围内选择该数据库的缺省值。标识号指派为 11 的另一个数据库副本,将在 11001-12000 范围内为同一列提供缺省值。

    请参见设置全局数据库 ID


声明 DEFAULT GLOBAL AUTOINCREMENT
设置全局数据库 ID