gpt4 book ai didi

java.lang.RuntimeException : java. sql.SQLException: 字段 'UserName' 没有默认值

转载 作者:行者123 更新时间:2023-11-29 04:21:41 25 4
gpt4 key购买 nike

我正在开发一个网络应用程序....其中将有一个用户请求注册的列表......我们点击接受所有详细信息必须从注册表移动到登录表...

这是我的 servlet:

ClientApproveService approve=new ClientApproveService();
approve.clientApprove();

这是我的服务:

public class ClientApproveService {

public void clientApprove() {
ClientApproveDAO cad=new ClientApproveDAO();
DataSource dataSource=new DataSource();
cad.setDataSource(dataSource);
cad.insertClient();

}

}

这是我的 DAO:

public class ClientApproveDAO {

private DataSource dataSource;
public void setDataSource(DataSource dataSource) {
this.dataSource = dataSource;
}
Connection conn=null;
PreparedStatement statement=null;
ResultSet rs=null;


public void insertClient() {
try{
conn=dataSource.createConnection();
PreparedStatement ps=conn.prepareStatement("insert into login(id,FirstName,LastName,Gender,Category,Dateofbirth,Age,Address,Country,State,city,PinCode,EmailId,ContactNo,MobileNo)select * from register ");
ps.executeUpdate();
}
catch (SQLException e) {
throw new RuntimeException(e);

} finally {
if (rs != null) try { rs.close(); } catch (SQLException ignore) {}
if (statement != null) try { statement.close(); } catch (SQLException ignore) {}
if (conn != null) try { conn.close(); } catch (SQLException ignore) {}
}


}

}

这是我的登记表:

create table register(
id int(100) not null AUTO_INCREMENT primary key,
FirstName varchar(300) default null,
LastName varchar(300) default null,
Gender varchar(200) default null,
Category varchar(200) default null,
DateOfBirth varchar(200) default null,
Age int(3)default null,
Address varchar(1000) default null,
Country varchar(500) default null,
State varchar (500) default null,
city varchar(500)default null,
PinCode int(10)default null,
EmailId varchar(500)default null,
ContactNo varchar(20) default null,
MobileNo varchar(20) default null
);

这是我的登录表:

create table login(
UserName varchar(100)not null,
PassWord varchar(100)not null,
id int(100) not null AUTO_INCREMENT primary key,
FirstName varchar(300) default null,
LastName varchar(300) default null,
Gender varchar(200) default null,
Category varchar(200) default null,
DateOfBirth varchar(200) default null,
Age int(3)default null,
Address varchar(1000) default null,
Country varchar(500) default null,
State varchar (500) default null,
city varchar(500)default null,
PinCode int(10)default null,
EmailId varchar(500)default null,
ContactNo varchar(20) default null,
MobileNo varchar(20) default null
)

我必须将注册表中的所有数据插入到登录表中,但我仍然在登录表中自动生成用户名和密码字段...但我应该能够生成其余的 ryt???但是当我运行它时它抛出一个异常

java.lang.RuntimeException: java.sql.SQLException: 字段 'UserName' 没有默认值

请有人帮我解决这个问题...在此先感谢...

最佳答案

您没有给 UserName 提交一个值,它没有默认值。试试这个:

insert into login(id,FirstName,LastName,Gender,Category,Dateofbirth,Age,Address,Country,State,city,PinCode,EmailId,ContactNo,MobileNo,UserName) 
select *, 'undefined' from register

或者,您可以ALTER 表,这样userName 字段将具有默认值:

ALTER TABLE login MODIFY userName varchar(100) NULL DEFAULT NULL;

关于java.lang.RuntimeException : java. sql.SQLException: 字段 'UserName' 没有默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21846731/

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