Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    20

    [mySql] aggiornare quello che si estrae

    come detto nel titolo, ho necessità di estrarre alcuni dati in base a due parametri di filtro e successivamente aggiornare le righe trovate modificando un parametro.

    ho pensato di utilizzare una SUBQUERY, (e qui nasce la domanda, esiste un'altra soluzione migliore o ho preso la strada giusta?)

    al momento ho questo codice

    function update_stato_5(&$tNG) {
    $query = "UPDATE prenotaz_pre SET stato_pre = 5
    WHERE (SELECT * FROM prenotaz_pre WHERE stato_pre = 4 AND data_pre < curdate() )";
    mysql_query($query) or die (mysql_error());
    }
    che trova l'intoppo:

    No Primary Key Column was set. (UPD_NO_PK_SET)

    ps: la singola istruzione SELECT testata singolarmente funziona.

  2. #2
    codice:
    UPDATE prenotaz_pre 
    SET stato_pre = 5
    WHERE stato_pre = 4 AND data_pre < curdate()";
    
    mysql_query($query) or die (mysql_error());
    perche' vuoi fare una subquery ???

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    20
    forse perchè sono impazzito!
    mannaggia, hai ragione, non ho capito perchè sono andato a cercare di complicarmi la vita da solo, diciamo che probabilmente di venerdì pomeriggio dovrei dedicarmi semplicemente ai rollover dei pulsanti gif :berto:
    grazie mille

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    20
    dunque ho provato questa query ma continua a dare questo errore:

    No Primary Key Column was set. (UPD_NO_PK_SET)


  5. #5
    Originariamente inviato da fastmax
    dunque ho provato questa query ma continua a dare questo errore:

    No Primary Key Column was set. (UPD_NO_PK_SET)

    ma da dove stai provando???? da quale supporto software intendo dire.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    20
    si, hai ragione.

    dunque se provo la query direttamente in mySql in effetti funziona perfettamente.

    io però la utilizzo tramite una pagina php con questo codice

    function update_stato_5(&$tNG) {
    $query = "UPDATE prenotaz_pre SET stato_pre = 5
    WHERE stato_pre = 4 AND data_pre < curdate()";
    mysql_query($query) or die (mysql_error());
    }


    Di solito in casi simili mi spara qualche parse error invece questa volta parla di chiave primaria (in modo direi piuttosto generico) ... e non capisco dove cercare l'errore.

  7. #7
    Originariamente inviato da fastmax
    Di solito in casi simili mi spara qualche parse error invece questa volta parla di chiave primaria (in modo direi piuttosto generico) ... e non capisco dove cercare l'errore.
    prova ad eseguire la query senza usare le funzione. dovrebbe funzionare anche da php. Forse lanci la pagina da dreamware e non da un browser.

    In pratica quello che usi (il tool che lancia lo script) vorrebbe identificare il record tramite la chiave primaria.... e non tramite una condizione where qualunque che non considera la chiave primaria.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    20
    si avevi troppa ragione,
    inizialmente mi serviva utilizzarlo tramite la funzione ma poi ho cambiato alcune cose nella pagina e non era più necessario ma lui, giustamente, continuava a cercare la chiave primaria come riferimento... mi ero perso dietro alla query e non tenevo più conto del resto
    Comunque ora va tutto perfettamente, sei stato di grande aiuto.
    Grazie mille

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.