1

目标

从第 5 个值开始添加。

问题

我的数据库中有一个名为markets. 在其中,有 5 个值:

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

Id是一个主键和自动递增的列,它从零开始(我手动添加它以用作默认值)。当我向该表添加一些市场时,似乎 MySQL 添加了有问题的市场0as Id— 我想设置Idas5以继续表的逻辑。所以我问:我怎样才能从 5th 增加一些价值Id

我已经尝试过的

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

ALTER TABLE `markets` AUTO_INCREMENT = 5;

我怎么知道 MySQL 正试图用它的Idas添加市场0

我的应用程序由抛出异常的 C# 提供支持:

键“P​​RIMARY”的重复条目“0”

4

3 回答 3

2

在您的INSERT声明中,将auto_increment字段留在声明之外。这将使 MySQL 增加它并自动添加它。

于 2013-09-04T15:12:09.160 回答
0

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

试试看嘛:; -

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

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

于 2013-09-04T15:14:34.830 回答
0

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

当我们使用 auto_increment 时,无需在插入命令中指定该列。

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

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

ALTER TABLE market AUTO_INCREMENT = 5;
于 2013-09-04T16:24:05.803 回答