3

我想INT(11)在我的 MYSQL 数据库中创建一个字段,该字段的值从 1000 开始,每次递增 1 INSERT

警告:这不是主键

数据库运行 MYSQL 6.0 和 InnoDB 引擎

如果可能的话,我谁能做到这一点?

4

2 回答 2

1

你可以有一个 auto_increment 列,只要它被定义为一个键(它不必是 a PRIMARY KEY)。例如:

CREATE TABLE auto_inc_test (
    ID INT PRIMARY KEY,
    IncValue INT AUTO_INCREMENT,
    SomeData VARCHAR(50),
    INDEX(IncValue)
);
ALTER TABLE auto_inc_test AUTO_INCREMENT = 1000;

(该ALTER TABLE行设置 的下一个值AUTO_INCREMENT。)

如果您随后运行以下插入(显然,它没有为 IncValue 字段提供任何值):

INSERT INTO auto_inc_test (ID, SomeData) 
VALUES (1, 'test 1'), (2, 'test 2'), (3, 'test3')

你会得到:

ID    IncValue    SomeData
1     1000        test 1
2     1001        test 2
3     1002        test 3
于 2013-11-06T12:55:37.497 回答
0

试试下面的代码,希望这能帮助你专注于下面代码中的语法部分——KEY(id)——

CREATE TABLE IF NOT EXISTS `users`(
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL,
  `username` varchar(50) NOT NULL,
  `password` varchar(100) NOT NULL,
  `email` varchar(80) NOT NULL,
  `type` int(11) NOT NULL,
  `created` datetime NOT NULL,
  `modified` datetime NOT NULL,
  `status` enum('1','0') NOT NULL COMMENT '''0'' for inactive ''1'' for active',
   PRIMARY KEY (`username`),
   KEY (id)    
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1000;
于 2013-11-06T12:57:24.457 回答