2017-06-26 42 views
0

我用笨框架的最大值,我不知道爲什麼我在查詢了錯誤。當我在查詢生成器navicat中嘗試它時,我的查詢成功運行並返回我的字段varchar的最大數量。但是,當我在我的模型試了一下,它給了我的錯誤:錯誤在我的查詢得到一個varchar

數據庫出錯

錯誤編號:1064

您的SQL語法錯誤; 檢查對應於您MariaDB的服務器版本 第1行

這裏附近使用「0」正確的語法手冊是我在模型查詢:

public function checkupID() { 
     $query = $this->db->query(' SELECT tbl_check_up.check_up_id FROM tbl_check_up ORDER BY substring_index(tbl_check_up.check_up_id, '-', 1) + 0, 
        substring_index(tbl_check_up.check_up_id, '-', -1) + 0 DESC LIMIT 1 '); 
     return $query->result(); 
    } 
+0

。在你的語法錯誤。 substring_index實際上返回一個子串,而不僅僅是索引。所以你不能直接添加0或任何其他整數。請分享您正在執行的查詢的確切要求。 –

+0

@KeyurPanchal你好先生......我想使汽車增量查詢,因爲它是prmary關鍵 –

+0

你能多一點的描述? –

回答

1

也許你正在尋找對於第一個子字符串的長度(在破折號之前)作爲排序的方式?

SELECT tbl_check_up.check_up_id 
FROM tbl_check_up 
ORDER BY 
    length(substring_index(tbl_check_up.check_up_id, '-', 1)) 
LIMIT 1 
; 

但是我不確定第二部分訂單的意圖是什麼。

+ EDIT,校正。 -1是有效,第三個參數爲SUBSTRING_INDEX

+0

使用-1 ** **是作爲第三個參數'SUBSTRING_INDEX()'有效:*「如果*計數*爲負,則返回一切最終定界符(從右邊開始計算)的權利。 「*](https://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_substring-index) –

+0

哦。謝謝。很高興知道。 –

+0

@Used_By_Already謝謝您的回覆。爲什麼這會返回1-9?先生..請檢查它..我需要1-10 –

相關問題