-1

我的服务器上安装了 MySQL 5.0。SQL 自动增量不起作用。我已经定义了具有自动增量的列,但仍然无法正常工作,它说:

Incorrect integer value: '' for column 'id' at row 1
4

4 回答 4

2

在主键列中插入 NULL 而不是空字符串。从错误中我可以看到您正在尝试插入“”值。

于 2012-11-11T18:12:12.643 回答
2

您的查询应该是

INSERT INTO myTable(col2, col3) VALUES('x','y');

省略自动增量列

于 2012-11-11T18:16:41.090 回答
0

我只是使用 DEFAULT 而不是“”

插入用户值(默认值,'$Username',...)

对我来说自动递增。

于 2012-11-11T19:36:53.977 回答
0

确保您的主键类似于以下内容:

`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY

我用过:

INSERT INTO `table` (`id`, `foo`, `hello`) VALUES ('', 'bar', 'world')

如果像我一样设置密钥,则在密钥中放置一个空白字符串是可行的。这可能是一种不好的做法,但我知道它有效,所以如果它不适合您,那么我会说您在创建表格时可能错过了一些东西。

在 INSERT 中省略id最可能是最合适的方法,使用 NULL 可能是第二好的方法。我没有任何文件可以支持这一点,但作为一种观察,情况似乎可能是这样。

于 2013-06-16T05:51:04.417 回答