我在做酒店预订项目,我做了两张桌子酒店和房间类型,桌子房间类型有不同类型的房间,现在我在酒店桌子上注册酒店,每个酒店都有不同类型的房间,所以对于那个酒店,我试图用hotel_id作为外键将不同类型的房间插入到单独的桌子房间中。但是我的代码不能用于插入酒店的不同房间类型的数量,在下面的java代码中,首先我注册了酒店,如果成功将酒店的信息插入到酒店中,然后我试图将该酒店的不同房间类型的数量插入到桌子房间类型中,但是没有成功,我在浏览器上得到如下错误
您已成功注册…com.mysql.jdbc.exceptions.jdbc4.mysqlsyntaxerrorexception:您的SQL语法中有一个错误;请查看与您的MySQL服务器版本相对应的手册,以便在第1行“where hotel_id='16'”附近使用正确的语法
**Hotel Table**
CREATE TABLE hotel (
hotel_id varchar(100) NOT NULL,
name varchar(100) NOT NULL,
city varchar(100) NOT NULL,
address text NOT NULL,
Locality tinytext NOT NULL,
PRIMARY KEY (hotel_id)
)
**RoomType Table**
CREATE TABLE roomtype (
hotel_id varchar(100) NOT NULL,
roomtype1 varchar(100) UNIQUE,
roomtype2 varchar(100) UNIQUE,
roomtype3 varchar(100) UNIQUE,
roomtype4 varchar(100) UNIQUE,
FOREIGN KEY (hotel_id) REFERENCES hotel (hotel_id)
)
JavaCode
try
{
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/hotelres","root","1234");
PreparedStatement ps=con.prepareStatement("insert into hotel(hotel_id,name,city,address,Locality ) values('"+hotel_id+"','"+name+"','"+city+"','"+address+"','"+locality+"')");
//PreparedStatement ps=con.prepareStatement("insert into registeruser(Name, Password) values('"+n+"','"+p+"')");
int i=ps.executeUpdate();
if(i>0){
out.print("You are successfully registered ...");
ps=con.prepareStatement("insert into roomtype(hotel_id,roomtype1,roomtype2,roomtype3,roomtype4) values('"+hotel_id+"','"+room_type1+"','"+room_type2+"','"+room_type3+"','"+room_type4+"')where hotel_id="+"'"+hotel_id+"'");
int j=ps.executeUpdate();
if(j>0)
out.print("ou are successfully registered ...\n");
else
out.print("You are not able to registere ...\n");
}
else
out.print("You are not able to registere ...");
不能在insert语句中使用where子句。如果您希望修改hotel id为16的行,那么考虑使用update语句。
旁注-您的SQL易受SQL代码注入的攻击
每当我的代码运行时,我都试图在csv文件中插入(更新)值。 这里是我的csv文件内容: 当我运行代码时,我只想更新col3中的value3。例如,在我运行脚本后,它会如下所示: 这是我的代码: 但是,它不仅在col3中插入“new_value3”。我是python新手,所以任何想法或建议都会有所帮助。
我正在使用JavaServlet中的javamail api发送邮件。只向gmail Id发送邮件是非常困难的,而我希望它能够发送到任何电子邮件Id。我需要不同的属性值吗?我跟着http://www.mkyong.com/java/javamail-api-sending-email-via-gmail-smtp-example/ 开发代码。属性值为: props.set财产(mail.smtp.
问题内容: 是否有只查询记录的查询,如果不存在,则插入?我不想重复更新或替换。寻找一个查询解决方案,寻找其他答案,但不是我真正想要的。 表: 伪查询: 问题答案: 使用-与INSERT完全相同,不同之处在于,如果表中的旧行与PRIMARY KEY或UNIQUE索引的新行具有相同的值,则在插入新行之前会删除该旧行。 http://dev.mysql.com/doc/refman/5.0/en/rep
问题内容: 我有一个验证并保存表单的视图。保存表单后,我想重定向回list_object视图,并显示一条成功消息“客户xyz的表单已成功更新…” HttpResponseRedirect似乎无法正常工作,因为它只为url提供一个参数,无法与之一起传递字典。 我已经尝试修改object_list的包装,以将dict作为具有必要上下文的参数。我从保存表单的视图内部返回对此包装的调用。但是,呈现页面时,
问题内容: 嗨,我正在尝试将值插入到mysql表中。我正在尝试此代码。我已经为变量分配了值,我想将该变量传递给该插入语句。这样对吗? 这是我尝试过的,但是我无法插入值 问题答案: 试试这个,
我试图在表中插入值,它说的是错误,请告诉我哪里错了,这是我的代码,它说的是请重试 你能指导我吗?我以为问题出在约会上