v2.5.2
Giriş yap

MySQL’de JSON Verileriyle Çalışmak

edward
655 defa görüntülendi ve 1 kişi tarafından değerlendirildi

Aşağıda belirttiğim gibi veriyi JSON olarak veritabanıma kaydediyorum. buraya kadar herşey normal. fakat 8 numaralı JSON da bulunan iOrderStatus adlı veriyi güncellemek istediğimde bunu başaramıyorum bu konuda yardımcı olur musunuz.
Tablo Adı: orders
Kolon Adı: jsonProduct

Örnek Kullandığım Kod:

<?php
UPDATE orders SET jsonProduct = JSON_REPLACE(jsonProduct, '$.8', '$.iOrderStatus', '2')
?>

Çıkan Hata Kodu:

<?php
 #1305 - FUNCTION 00000menu.JSON_REPLACE does not exist
?>
<?php
   {
   "8":{
      "id":"8",
      "strTitle":"Sahanda Omlet",
      "iQuantity":10,
      "iPrice":"10.00",
      "iOrderStatus":"1"
   },
   "10":{
      "id":"10",
      "strTitle":"White Chocolate Mocha",
      "iQuantity":3,
      "iPrice":"20.00",
      "iOrderStatus":"2"
   },
   "9":{
      "id":"9",
      "strTitle":"Çift Kaşarlı Tost",
      "iQuantity":1,
      "iPrice":"20.00",
      "iOrderStatus":"3"
   }
}
?>
Cevap yaz
Cevaplar (4)
makifgokce
1474 gün önce

bu şekilde yap büyük ihtimal olacaktır.

UPDATE orders SET jsonProduct = JSON_REPLACE(jsonProduct, '$.8.iOrderStatus', '2')
edward
1474 gün önce

Merhaba, bende aynı şekilde çözdüm girip kontrole deyim dedimdi cevap yoksa çözümü yazayım diye siz de yazmışssınız.
Yardımcı olduğunuz için çok sağolun

edward
1474 gün önce

Değiniz gibi sürüm düşükmüş hocam.
Kontrol ettim fakat kullanmış olduğum update sorgusu hata verdi doğru sorgu değil o konuda yardımcı olur musunuz

1582 - Incorrect number of parameters in native function call 'JSON_REPLACE'

makifgokce
1474 gün önce

Kullandığın mysql sürümü nedir.
Eski bir sürüm kullandığın için bu hatayı veriyor olabilir.
Mysql 5.7 veya daha yüksek bir sürüm kullan.