MySQL select之后再update


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

 現在運行,果然就沒錯了,這個問題比較少見,所以得記下來

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM