Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [jsp] eseguire una query UPDATE su mysql

    Ciao,
    ho un problema nell'esecuzione di una query di update su una tabella mysql.

    eseguendo:
    int count = results.getInt("time_count")+1;
    String query = "UPDATE favorites SET date=NOW() AND time_count='"+count+"' WHERE username='"+session.getAttribute("userID")+"' AND wfv_id='"+request.getParameter("wfv_id")+"'";
    out.println(query);
    try{stmt.executeUpdate(query);}catch(Exception e){out.println("
    "+e);}

    su una tabella di questo tipo:
    CREATE TABLE `favorites` (
    `username` varchar(16) NOT NULL default '',
    `wfv_id` int(10) unsigned NOT NULL default '0',
    `date` timestamp(14) NOT NULL,
    `time_count` int(10) unsigned NOT NULL default '0',
    PRIMARY KEY (`username`,`wfv_id`),
    KEY `username` (`username`),
    KEY `wfv_id` (`wfv_id`),
    FOREIGN KEY (`username`) REFERENCES `users` (`username`) ON DELETE CASCADE ON UPDATE CASCADE,
    FOREIGN KEY (`wfv_id`) REFERENCES `versions` (`wfv_id`) ON DELETE CASCADE ON UPDATE CASCADE
    ) TYPE=InnoDB;

    Non ottengo il risultato sperato:
    il campo "date" viene settato a "00000000..." mentre il campo "time_count" non viene aggiornato. Come mai???


  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    credo che sbagli a impostare i campi integer con '1'
    devi usare nomecampo = 1

  3. #3
    niente da fare...
    ho praticamente provato ogni combinazione di apici... ci sto letteralmente spaccando la testa su sta cosa...


    Quando nel db nn esiste un record con il medesimo valore di chiave faccio una INSERT e tutto funziona alla grande... ma la UPDATE mi tira matto...

    Guarda questo blocco, la insert va e la update no:
    if(!results.next()){
    stmt.executeUpdate("INSERT INTO favorites (username,wfv_id,date,time_count) VALUES ('"+session.getAttribute("userID")+"','"+request.g etParameter("wfv_id")+"',NOW(),'1')");
    }
    else{
    int count = results.getInt("time_count")+1;
    String query = "UPDATE favorites SET date=NOW() AND time_count="+count+" WHERE username='"+session.getAttribute("userID")+"' AND wfv_id='"+request.getParameter("wfv_id")+"'";
    out.println(query);
    try{stmt.executeUpdate(query);}catch(Exception e){out.println("
    "+e);}
    }

    Please help!!!

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    328
    Mi pare che la sintassi dell'update
    codice:
    SET CAMPO1 = 'valore' AND CAMPO2 = 'valore'
    sia sbagliata...

    sql standard:

    codice:
    UPDATE TABELLA SET CAMPO1 = 'valoredasettare', CAMPO2 = 'valoredasettare' WHERE CAMPO_PK = 'valoreininput'

  5. #5
    IO TI AMO!

    Funziona, grazie!


  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    328
    Originariamente inviato da superpelo
    IO TI AMO!

    Funziona, grazie!


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.