【发布时间】:2012-06-20 10:27:50
【问题描述】:
当我尝试执行以下查询时
create table xyz(id int(3) not null auto_increment, name char(10) not null, code int(6) auto_increment=2000);
我收到以下错误:
You have an error near '=2000)'
我希望 id 列从 1 开始,它将从 1 开始,但同时我希望代码列从 2000 开始在我向表中插入数据时递增。 那么,查询中是否可以有两个 auto_increments ?我是在 servlet 的帮助下做到这一点的。
【问题讨论】:
-
正如 MySQL 手册中明确指出的那样,一个表中只能有一个
AUTO_INCREMENT列,并且它必须是PRIMARY KEY(或它的一部分),另外,设置 atuo 的正确语法-increment 值是在表定义结束之后(在您指定 ENGINE 和 COMMENTS 的同一位置) -
有什么特殊原因不将 2000 添加到其他所需列的 id 列吗?这似乎是行 ID 值的静态偏移量。
-
我想使用 id 作为主键引用,我正在做一个 java servlet 程序,每当我提交要存储在数据库中的表单时,我都必须在其中生成一个随机数,所以我想到了给出默认值,然后在插入数据时再次增加它
-
也许我不明白,但这听起来不像是一个随机数。
标签: java mysql html sql servlets