第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我不斷使用逐部分構建的 sql 請求獲取 SQLError

我不斷使用逐部分構建的 sql 請求獲取 SQLError

米琪卡哇伊 2023-06-08 12:58:12
我有一個 JavaFX 應用程序,用戶在其中輸入一些關于他的信息,然后我有一個名為的類,DbUpdateBuilder它允許我更輕松地創(chuàng)建我的 sql resquest。然后我用statement.executeUpdate(request)問題是我總是收到這個錯誤: java.sql.SQLSyntaxErrorException: syntax error near " line 1所以我認為我的請求有問題所以我打印了我收到的請求:UPDATE `users` SET `users`.`first_name`=null,`users`.`last_name`=null,`users`.`age`=null,`users`.`role`=null,`users`.`gender`= 3  WHERE `users`.`id` LIKE 10如果我對它進行硬編碼,它就可以工作。這不起作用            // Some code            Statement stmt = con.createStatement();            String request = builder.getRequest();            System.out.println(request); // where the request in the                                          // working exemple comes from            if(stmt.executeUpdate(request) > 0) { // I get the error from this                                                   // line                return UPDATE_SUCCESS;            }            return SQL_ERROR_OCCURED; 但這確實有效            Statement stmt = con.createStatement();            String request = builder.getRequest();            System.out.println(request);            if(stmt.executeUpdate("UPDATE `users` SET `users`.`first_name`=null,`users`.`last_name`=null,`users`.`age`=null,`users`.`role`=null,`users`.`gender`= 3  WHERE `users`.`id` LIKE 10") > 0) {                return UPDATE_SUCCESS;            }            return SQL_ERROR_OCCURED; 我必須確定工作示例中硬編碼的請求來自非工作示例中打印的請求的復制和粘貼
查看完整描述

3 回答

?
四季花海

TA貢獻1811條經驗 獲得超5個贊

只是建議 LIKE 對字符串起作用,通常與 wild char 一起使用


如果您需要完全匹配,那么可能是您需要的

,然后使用 equal


UPDATE `users` 

SET `users`.`first_name`=null,

    `users`.`last_name`=null,

    `users`.`age`=null,

    `users`.`role`=null,

    `users`.`gender`= 3  

WHERE `users`.`id` = 10

如果您需要模式匹配,請使用 like 和 wildchar 例如;


UPDATE `users` 

SET `users`.`first_name`=null,

    `users`.`last_name`=null,

    `users`.`age`=null,

    `users`.`role`=null,

    `users`.`gender`= 3  

WHERE `users`.`id` LIKE '%10%'


查看完整回答
反對 回復 2023-06-08
?
慕田峪7331174

TA貢獻1828條經驗 獲得超13個贊

但我自己發(fā)現了問題:我比較了兩個字符串(一個硬編碼的字符串和一個由我的構建器生成的字符串)它們具有相同的長度,所以我逐個字符地打印每個字符串,然后我發(fā)現了問題!一些字符等于 null 所以 SQL 不喜歡它并產生錯誤但是當我打印它時 null 字符被忽略了......

查看完整回答
反對 回復 2023-06-08
?
智慧大石

TA貢獻1946條經驗 獲得超3個贊

有時引號 ' 不被 mysql 接受,但你可以嘗試這個簡單的沒有 qoutes


  UPDATE users 

     SET first_name=null,

       last_name=null,

       age=null,

       role=null,

       gender='3' 

  WHERE id LIKE '%10%'

并確保您的數據類型正確, null 也等于空,您可以嘗試將其更改為 '' like first_name=''


查看完整回答
反對 回復 2023-06-08
  • 3 回答
  • 0 關注
  • 158 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號