gpt4 book ai didi

mysql - SQLException java.sql.SQLException : Field 'userid' doesn't have a default value 异常

转载 作者:可可西里 更新时间:2023-11-01 07:56:30 26 4
gpt4 key购买 nike

我的 user 表以前有字符串主键,现在我添加了一个新字段 userid bigint(20) 并制作了这个主键。然后添加

ALTER TABLE smsusers AUTO_INCREMENT = 2335;

user 表中的总记录为 2334 下一条记录应取值为 2335并且应该随着记录的添加而自动递增。

问题是从我的应用程序中插入数据时显示的跟随错误

SQLException  java.sql.SQLException: Field 'userid' doesn't have a default value

如何解决这个问题

编辑:尝试插入新数据时

    INSERT INTO `dbname`.`smsusers` ( `password`, `fname`, `lname`,
`mailid`, `dob`, `gender`) VALUES ('asdf', 'asdf', 'asdf',
'asdf@asdf.com', '2013-10-10', 'm');

显示如下错误

#1062 - Duplicate entry '0' for key 1

编辑:最初我的主键是 id 而不是我添加了 userid 并制作了这个主键

我的表结构是

CREATE TABLE `smsusers` (
`id` varchar(60) NOT NULL DEFAULT '',
`password` varchar(50) NOT NULL,
`fname` varchar(30) NOT NULL,
`lname` varchar(30) DEFAULT NULL,
`mailid` varchar(50) NOT NULL,
`dob` date NOT NULL,
`gender` varchar(10) NOT NULL,
`city` varchar(70) DEFAULT NULL,
`userid` int(20) NOT NULL DEFAULT '0',
PRIMARY KEY (`userid`),
KEY `id_pk_unique` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

在 smsusers 中插入数据时,它只采用默认值 0,而不是增量值。

最佳答案

运行以下查询。那么不用担心。 :)

   ALTER TABLE smsusers MODIFY COLUMN userid INT(20) AUTO_INCREMENT;

ALTER TABLE smsusers AUTO_INCREMENT = 2335;

关于mysql - SQLException java.sql.SQLException : Field 'userid' doesn't have a default value 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19708992/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com