• 03-01-2023, 10:18:44
    #1
    Merhabalar,

    Opencart sitemde sql üzerinden bir markanın tüm stoklarını 0 yapmak istiyorum. Bu kod için yardımcı olabilecek var mı ? Tüm ürünlerin stoklarını 0 yapabiliyorum ama sadece istediğim '' 1 '' markanın stoklarını 0 yapmam gerekmekte

    Modül olarak bulamadığım için sql (phpmyadmin ) üzerinden istiyorum
  • 03-01-2023, 10:29:14
    #2
    Üyeliği durduruldu
    UPDATE product SET quantity = 0 WHERE manufacturer = 'marka_adi';
  • 03-01-2023, 10:32:48
    #3
    Yazılım Hizmetleri
    UPDATE {sql ismi} SET {stok sütununun ismi}=0 WHERE {Marka sütununun ismi}='{Marka ismi}'
  • 03-01-2023, 10:37:23
    #4
    Python Coder
    Update kullanmadan önce SELECT ile kontrol edin derim hocam , doğru veriler geliyor mu diye
    SELECT * FROM TABLO_İSMİ WHERE MARKA_SÜTUN_İSMİ=İSTENEN_MARKA_İSMİ
  • 03-01-2023, 10:56:55
    #5
    PM ile anydesk iletin kontrol edelim hocam.
  • 03-01-2023, 11:24:21
    #6
    Bu şekilde deneyin.
    oc_ ön ekleri genelde standartır. Farklılık varsa değiştirin.
    Kısacası Apple marka içeren Stokları 0 yapar. Eğer stoklar 0 ise işlem yapmaz.
    UPDATE oc_product AS product, ( SELECT * FROM oc_manufacturer WHERE name = 'Apple' ) AS manufacturer SET product.quantity = 0 WHERE  manufacturer.manufacturer_id = product.manufacturer_id;
  • 03-01-2023, 13:15:33
    #7
    yusufozcelik adlı üyeden alıntı: mesajı görüntüle
    Bu şekilde deneyin.
    oc_ ön ekleri genelde standartır. Farklılık varsa değiştirin.
    Kısacası Apple marka içeren Stokları 0 yapar. Eğer stoklar 0 ise işlem yapmaz.
    UPDATE oc_product AS product, ( SELECT * FROM oc_manufacturer WHERE name = 'Apple' ) AS manufacturer SET product.quantity = 0 WHERE  manufacturer.manufacturer_id = product.manufacturer_id;
    Aşağıda ki hatayı veriyor hocam

    Sabit çözümleme:
    Çözümleme sırasında 8 hata bulundu.
    1. Bir ifade beklenmekte. (near "(" at position 30)
    2. Beklenmedik belirteç. (near "(" at position 30)
    3. Yeni bir ifade bulundu, ancak bu ve önceki arasında hiç sınırlayıcı yok. (near "SELECT" at position 32)
    4. Beklenmedik belirteç. (near ")" at position 86)
    5. Tanınmayan anahtar kelime. (near "AS" at position 88)
    6. Beklenmedik belirteç. (near "manufacturer" at position 91)
    7. Yeni bir ifade bulundu, ancak bu ve önceki arasında hiç sınırlayıcı yok. (near "SET" at position 104)
    8. Bir kodadı daha önce bulundu. (near "manufacturer" at position 136)
    SQL sorgusu:
    UPDATE oc_product AS product, ( SELECT * FROM oc_manufacturer WHERE name = 'Autonics' ) AS manufacturer SET product.quantity = 0 WHERE manufacturer.manufacturer_id = product.manufacturer_id
    MySQL çıktısı:
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'WHERE manufacturer.manufacturer_id = product.manufacturer_id' at line 1
  • 03-01-2023, 14:30:57
    #8
    UPDATE oc_product AS p, ( SELECT * FROM oc_manufacturer WHERE name = 'Apple' ) AS m SET p.quantity = 0 WHERE m.manufacturer_id = p.manufacturer_id;
    Sql koncol üzerinden denediğimde çalışıyor. Mariadb üzerinde test ettim.
  • 03-01-2023, 15:07:54
    #9
    yusufozcelik adlı üyeden alıntı: mesajı görüntüle
    UPDATE oc_product AS p, ( SELECT * FROM oc_manufacturer WHERE name = 'Apple' ) AS m SET p.quantity = 0 WHERE m.manufacturer_id = p.manufacturer_id;
    Sql koncol üzerinden denediğimde çalışıyor. Mariadb üzerinde test ettim.
    Op ile denediğimde aldığım güncel hata ; ( başka yapmak isteyen arkadaşlar da vardır diyerek detayları paylaşıyorum )



    MySQL çıktısı:
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'WHERE manufacturer.manufacturer_id = product.manufacturer_id' at line 1