如何在MySQL中一个接一个地创建id

时间:2014-02-25 21:04:17

标签: mysql transactions

这是任务。我有2个表的MySQL:

CREATE TABLE `users` (
  `id` int(11) NOT NULL auto_increment,
  `name` varchar(255) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1;

CREATE TABLE `tasks` (
  `user_id` int(11) NOT NULL,
  `task_id` int(11) NOT NULL,
  `description` varchar(255) NOT NULL
) ENGINE=InnoDB;

INSERT INTO users VALUES (1, 'James');
INSERT INTO users VALUES (2, 'Charles');

我想将数据添加到表tasks。我希望task_id一个接一个地去 对于每个user_id。像这样:

mysql> select * from tasks;
+---------+---------+-------------+
| user_id | task_id | description |
+---------+---------+-------------+
|       1 |       1 | aa          |
|       1 |       2 | bb          |
|       1 |       3 | cc          |
|       2 |       1 | aaa         |
|       2 |       2 | bbb         |
|       1 |       4 | dd          |
+---------+---------+-------------+

这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

通过将$value+1添加到task_id字段

,您始终可以找到包含所需user_id的最后一行并手动增加该行