Java MYSQL选择。。。更新不起作用?

Java MYSQL选择。。。更新不起作用?,java,sql,mysql,select,jdbc,Java,Sql,Mysql,Select,Jdbc,我对MySQL的SELECT有问题。。对于更新,以下是我尝试运行的查询: SQL = "SELECT * " + "FROM " + TableName + " " + "WHERE out_status IN ("+outSStatus+") AND queued <= NOW() " + "ORDER BY out_status, id_queue ASC "+ limitSql+ "FOR UPDATE"; SQL=“选择*+ “来

我对MySQL的SELECT有问题。。对于更新,以下是我尝试运行的查询:

SQL = "SELECT * " +
      "FROM " + TableName + " " + 
      "WHERE out_status IN ("+outSStatus+") AND queued <= NOW() " +
      "ORDER BY out_status, id_queue ASC "+ limitSql+
      "FOR UPDATE";
SQL=“选择*+
“来自”+TableName+“”+

如果out_status IN(“+outstatus+”)和queued您可以使用它,它可能正在工作,您无法注意到。假设线程1执行该语句,并自动提交事务,因为
自动提交
处于启用状态。那么线程2当然也可以运行该语句


尝试使用连接类将
自动提交设置为关闭,然后查看结果。

我也有类似的问题。来自@Vikash和@Adeel Ansari的两个答案都是有效的建议。但是,我通过使用
InnoDB
引擎而不是
MyISAM
MyISAM
只允许锁定ta解决了这个问题ble级别,而不是行级别。您仍然需要事务,当使用InnoDB时,我将auto commit设置为off…并且在上述情况下,我仍然需要使用事务使其工作?例如:开始和结束COMMIT@James:好吧,但至少它开始起作用了。我建议你可以接受维卡什的答案。