Slickを使用していたときにタイトルのエラーが出たので解消していきます。
こちらはpkに対してAUTOINCREMENTが設定されている場合には起こりません。
逆にAUTOINCREMENTではない状態でreturning を使用するとこのエラーが発生します。
なので、解決策は2つです。
①pkにAUTOINCREMENTを設定すべきなのに、設定されていない場合はAUTOINCREMENTにしましょう。
pkであるカラム(ここではid)にAUTOINCREMENTを設定してあげましょう。
■変更前
def id = column[Long]("id", O.PrimaryKey)
■変更後
def id = column[Long]("id", O.PrimaryKey, O.AutoInc)
こうすればエラーは起こりません。
②returningを使わないようにしましょう。
AUTOINCREMENTをつけたくない場合は、レコードinsert時にreturningを使わないように変更します。
■変更前
def create(data:dbData) =(tableQuery returning tableQuery.map(_.id)) += data
■変更後
def create(data:dbData) =tableQuery += data
これでOKです。