我的服务器上安装了 MySQL 5.0。SQL 自动增量不起作用。我已经定义了具有自动增量的列,但仍然无法正常工作,它说:
Incorrect integer value: '' for column 'id' at row 1
我的服务器上安装了 MySQL 5.0。SQL 自动增量不起作用。我已经定义了具有自动增量的列,但仍然无法正常工作,它说:
Incorrect integer value: '' for column 'id' at row 1
在主键列中插入 NULL 而不是空字符串。从错误中我可以看到您正在尝试插入“”值。
您的查询应该是
INSERT INTO myTable(col2, col3) VALUES('x','y');
省略自动增量列
我只是使用 DEFAULT 而不是“”
插入用户值(默认值,'$Username',...)
对我来说自动递增。
确保您的主键类似于以下内容:
`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY
我用过:
INSERT INTO `table` (`id`, `foo`, `hello`) VALUES ('', 'bar', 'world')
如果像我一样设置密钥,则在密钥中放置一个空白字符串是可行的。这可能是一种不好的做法,但我知道它有效,所以如果它不适合您,那么我会说您在创建表格时可能错过了一些东西。
在 INSERT 中省略id
最可能是最合适的方法,使用 NULL 可能是第二好的方法。我没有任何文件可以支持这一点,但作为一种观察,情况似乎可能是这样。