将自动增量插入第二列

时间:2011-05-12 01:36:17

标签: mysql auto-increment

我希望像这样进行查询:

id | int |自动递增 某事| varchar | 255

insert into `table` set something = concat('val', id);

这样表格最终看起来像

  

1 | VAL1
  2 | VAL2
  3 | VAL3 ...

除了id总是最终为每行val0

我该怎么做?

1 个答案:

答案 0 :(得分:3)

mysql> describe concattest;
+-------+------------------+------+-----+---------+----------------+
| Field | Type             | Null | Key | Default | Extra          |
+-------+------------------+------+-----+---------+----------------+
| id    | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| val   | text             | YES  |     | NULL    |                |
+-------+------------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)

mysql> INSERT INTO concattest (val) VALUES (concat('val', LAST_INSERT_ID()));
Query OK, 1 row affected (0.06 sec)

mysql> select * from concattest;
+----+------+
| id | val  |
+----+------+
|  1 | val0 |
+----+------+
1 row in set (0.00 sec)

mysql> INSERT INTO concattest (val) VALUES (concat('val', LAST_INSERT_ID()));
Query OK, 1 row affected (0.00 sec)

mysql> select * from concattest;
+----+------+
| id | val  |
+----+------+
|  1 | val0 |
|  2 | val1 |
+----+------+
2 rows in set (0.00 sec)

mysql> INSERT INTO concattest (val) VALUES (concat('val', LAST_INSERT_ID()));
Query OK, 1 row affected (0.00 sec)

mysql> select * from concattest;
+----+------+
| id | val  |
+----+------+
|  1 | val0 |
|  2 | val1 |
|  3 | val2 |
+----+------+
3 rows in set (0.00 sec)