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

SQL Anywhere 11.0.1 (中文) » SQL Remote » SQL Remote 复制设计 » SQL Remote 复制设计和设置 » 重复主键错误 » 全局自动增量列

 

声明 DEFAULT GLOBAL AUTOINCREMENT

可以通过在 Sybase Central 中选择列属性,或在 CREATE TABLE 或 ALTER TABLE 语句中包含 DEFAULT GLOBAL AUTOINCREMENT 子句在数据库中设置缺省值。

分区大小

或者,也可以在紧随 AUTOINCREMENT 关键字之后的括号中指定分区大小。分区大小可以是任意非负整数,但分区大小的选择一般需要保证任何一个分区内的编号资源很少被用尽。

对于 INT 或 UNSIGNED INT 类型的列,缺省分区大小是 216 = 65536;对于其它类型的列,缺省分区大小是 232 = 4294967296。由于这些缺省值可能不合适(尤其当列不是 INT 或 BIGINT 类型时),因此建议您显式地指定分区大小。

示例

以下语句创建一个包含两列的表:用于保存客户标识号的整数列和用于保存客户名称的字符串列。标识号列 ID 使用 GLOBAL AUTOINCREMENT 缺省值,其分区大小为 5000。

CREATE TABLE Customers (
   ID   INT  DEFAULT GLOBAL AUTOINCREMENT (5000),
   name VARCHAR(128) NOT NULL,
   PRIMARY KEY (ID)
);
另请参见