• 23-03-2019, 21:43:07
    #1
    Öncelikle herkese iyi akşamlar. Mysql 'de bir trigger oluşturacağım. Fakat öncelikle bir çalışması adına bir sorgu cümlesi test ediyorum. Sorgu cümlesi :
    Update motor set bitisdate = NOW() Where id = (SELECT max(id)-1 FROM motor)
    Olmasına rağmen motor tablosunun max id 'sini alıp bir önce ki satırın id için şimdi ki zamanı ekleyeceğim. Fakat aşağıda ki aldığım hata ile karşılaşıyorum
    #1093 - Table 'motor' is specified twice, both as a target for 'UPDATE' and as a separate source for data
    Bu hatayı gidermek için internette bir kaç araştırma yaptım tablonun ismini AS ile farklı bir Alias eklememe rağmen yine aynı hatayı alıyorum. Hatayı gidermek için ne yapmalıyım ?
  • 23-03-2019, 21:46:52
    #2
    Şuradaki cevap işini görür.

    https://stackoverflow.com/questions/...pecified-twice
  • 23-03-2019, 21:54:40
    #3
    maviuan adlı üyeden alıntı: mesajı görüntüle


    Hocam hep id kısmına belirli bir değer yazmışlar bana daha çok id kısmının en son satırın bir önce ki id si gerekli. Bu hatayı araştırmıştım bayağı fakat bir çözümüne ulaşamadım ne yazık ki
  • 23-03-2019, 21:59:36
    #4
    efsungokmen adlı üyeden alıntı: mesajı görüntüle
    [/URL]

    Hocam hep id kısmına belirli bir değer yazmışlar bana daha çok id kısmının en son satırın bir önce ki id si gerekli. Bu hatayı araştırmıştım bayağı fakat bir çözümüne ulaşamadım ne yazık ki
    Şu çözmüyor mu işinizi?

    Update motor set bitisdate = NOW() Where id = (select max from (SELECT max(id)-1 as max FROM motor) t)
  • 23-03-2019, 22:03:13
    #5
    maviuan adlı üyeden alıntı: mesajı görüntüle
    Şu çözmüyor mu işinizi?

    Update motor set bitisdate = NOW() Where id = (select max from (SELECT max(id)-1 as max FROM motor) t)
    Oldu hocam teşekkür ederim bende bu şekilde yazmıştım fakat demek ki bir şeyler dikkatimden kaçmış tekrardan çok teşekkür ederim