Tek bir String sütunu kullanarak bir dizi ada temsil eden çok basit bir MySQL tablom var. Slick'in insertOrUpdate
'u kullanmak istiyorum ama yanlış MySQL üretiyor ve hatalara neden oluyor. Özellikle, güncellenmesi Ne belirtmezSlick 3, tek bir sütun tablosu için yanlış MySQL yükselme ifadeleri üretiyor
insert into `TABLE1_NAME` (`column`) values ('value') on duplicate key update
yürütmek istiyor, bu yüzden bu başarısız olur. İki sütun içeren benzer bir tablo,
insert into `TABLE2_NAME` (`key`, `other_col`) values ('value1', 'value2') on duplicate key update `other_col`=VALUES(`other_col`)
gibi ifadelerle sorunsuz şekilde kullanılabilir. TABLE1
için birincil anahtar ayarlıyoruz. Tablo projeksiyon haritalamamızı yanlış yapıyor olabiliriz. Slick 3.1.1 kullanıyoruz.
class Table1(tag: Tag) extends Table[Table1Record](tag, "TABLE1_NAME") {
def value = column[String]("value", O.PrimaryKey, O.Length(254))
def * = (value) <> (Table1Record, Table1Record.unapply)
}
class Table2(tag: Tag) extends Table[Table2Record](tag, "TABLE2_NAME") {
def value1 = column[String]("value1", O.PrimaryKey, O.Length(254))
def value2 = column[String]("value2", O.Length(254))
def * = (value1, value2) <> (Table2Record.tupled, Table2Record.unapply)
}
Anlıyorum. Öyleyse gerçekten istediğim: "bu sorudaki gibi" yoksa "ekle" (https://stackoverflow.com/questions/30706193/insert-if-not-exists-in-slick-3-0-0) . Teşekkürler! – broadmonkey