从第5个值添加

时间:2013-09-04 15:10:16

标签: mysql sql

目标

从第5个值添加。

问题

我的数据库中有一个名为markets的表。其中有5个值:

+----+------+
| Id | Name |
+----+------+
| 0  | NULL |
+----+------+
| 1  | A    |
+----+------+
| 2  | B    |
+----+------+
| 3  | C    |
+----+------+
| 4  | D    |
+----+------+

Id是一个主键和自动递增列,它的开头为零(我手动添加它作为默认值使用)。当我在这个表中添加一些市场时,似乎MySQL将0作为Id添加了相关市场 - 我想将Id设置为5以继续表的逻辑。所以我问:如何从第5个Id添加一些价值?

我已经尝试了什么

我已经为auto_increment设置了5值,但没有成功。我使用的查询如下:

ALTER TABLE `markets` AUTO_INCREMENT = 5;

我如何知道MySQL正在尝试使用Id作为0添加市场?

我的应用程序由C#驱动,它抛出异常:

  

键'PRIMARY'重复输入'0'

3 个答案:

答案 0 :(得分:2)

INSERT语句中,将auto_increment字段从语句中删除。这将使MySQL增加它并自动添加它。

答案 1 :(得分:0)

  

如何从第5个ID中添加一些值

试试:; -

INSERT INTO markets(Name) VALUES('E');

即插入数据时不要使用auto_increment字段。 MySQL很聪明,可以为你做到这一点;)

答案 2 :(得分:0)

表格中已经有四个值,所以你可以插入下一行。它会自动将5作为下一个值。

当我们使用auto_increment时,不需要在insert命令中指定该列。

INSERT INTO markets(Name) VALUES('E');

如果您想要更改auto_increment值,可以使用以下语句

ALTER TABLE market AUTO_INCREMENT = 5;