我有一个person_details包含p_id和的MySql表p_name.现在,如果我想插入一个p_name包含单引号的记录',我会以这种方式执行它 -
insert into person_details values (1, 'D\'souza');
现在,我试图通过这种方式通过java代码执行相同的操作 -
insert into person_details values (1, 'D\\\'souza');
我得到MySQLSyntaxErrorException.
哪里不对了?
Joh*_*Woo 11
要直接回答您的问题,请将引号加倍.
insert into person_details values (1, 'D''souza');
Run Code Online (Sandbox Code Playgroud)
但我宁愿使用参数化参数PreparedStatement.
以下是PRO:
例,
String str = "insert into person_details values (?, ?)";
query = con.prepareStatement(str);
query.setInt(1, 1);
query.setString(2, "D'souza");
query.executeUpdate();
Run Code Online (Sandbox Code Playgroud)