如何将顺序值分配给mysql数据库中的一列?

时间:2013-01-29 11:53:20

标签: mysql

我有一张这样的表

enter image description here

我希望将其转换为像这样的表

enter image description here

基本上,我想将顺序值分配给列id。 对此有任何疑问吗? 还有什么是mysql中rownum的等价物?

3 个答案:

答案 0 :(得分:2)

您需要使用AUTO_INCREMENT

CREATE TABLE animals (
     id MEDIUMINT NOT NULL AUTO_INCREMENT,
     name CHAR(30) NOT NULL,
     PRIMARY KEY (id)
) ENGINE=MyISAM;

答案 1 :(得分:1)

你可以用一种方式做到这一点。将id列设为PRIMARY KEY AUTO INCREMENT,然后使用1更改所有null的数据值,然后尝试插入。

CREATE TABLE `people` (
     `id` INT NOT NULL AUTO_INCREMENT,
     `name` CHAR(30) NOT NULL,
     `profession` CHAR(30) NOT NULL,
     PRIMARY KEY (id)
) ENGINE=InnoDB;

然后SQL就像:

INSERT INTO `people` VALUES
(null, 'John', 'Engineer'),
(null, 'Ronny', 'Doctor'),
(null, 'Monty', 'Engineer');

答案 2 :(得分:1)

你可以通过创建一个PRIMARY KEY并给它一个AUTO_INCREMENT来做到这一点,就像这样

id int NOT NULL AUTO_INCREMENT,