2015-12-21 43 views
0

進口光滑的MySQL驅動程序後,Slick中的Plain Sql匹配Char列嗎?

scala> import slick.driver.MySQLDriver.api._ 
import slick.driver.MySQLDriver.api._ 

我再定義一個Char

scala> val x: Char = 'x' 
x: Char = x 

最後,我試圖寫一個簡單的SQL查詢:

scala> sql"""SELECT name FROM table WHERE column = ${x}""" 
<console>:15: error: could not find implicit 
     value for parameter e: slick.jdbc.SetParameter[Char] 
     sql"""SELECT name FROM table WHERE column = ${x}""" 

,但我得到了以上錯誤。

我怎麼能寫簡單的SQL來匹配單個字符?

回答

0

這是因爲沒有SQL數據類型來表示一個字符。有數據類型可以表示字符序列(CHAR或VARCHAR)。所以,SetParameter不適用於光滑的'Char'。您可以查看默認的SetParameter實現here

如果「」的mysql中的數據類型爲「CHAR」或「VARCHAR」之一,應聲明字符串,而不是字符。這應該可以解決你的問題。