1、先查詢頁面 而后再根據查詢的結果來更改數據庫,可以使用SELECT …… FOR UPDATE 來實現,具體的代碼如下
SELECT * FROM chat //查詢的表 WHERE senderid = 2 AND receiverid = 14 //查詢的條件 FOR UPDATE; //分號不能少,否則在MySQL中運行會報錯 UPDATE chat SET ready = 1 //更改的內容 WHERE senderid = 2 AND receiverid = 14 //update的條件
2、在MySQL中運行沒有報錯,但是在mybatis中運行卻報錯,並顯示錯誤:Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException
按照常規流程先看看是否有不存在的字段存在,或者是實體少寫了什么,然后再看看SQL語句中是否與mybatis中的一些名字發生了沖突,但是這些均沒有問題,而且在MySQL中運行正確就代表SQL語句也沒錯,后面看見那個分號總是有些礙眼,因為在mybatis中從來沒有看見過符號,后面專門查詢了一下果然是分號導致的錯誤,mybatis中不允許有符號的存在,后面經過查詢才發現在配置文件中(我這里是application.properties文件)數據庫鏈接加上添加allowMultiQueries=true,也即是:
原來是:
jdbc.url = jdbc:mysql://122.152.251.93:3306/zhyy?useUnicode=true&characterEncoding=utf8&useSSL=false
現在在后面加上allowMultiQueries=true:
jdbc.url = jdbc:mysql://122.152.251.93:3306/zhyy?useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true
現在運行,果然就沒錯了,這個問題比較少見,所以得記下來