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

    [MySQL] canpi timestamp e UPDATE

    Ciao,
    ho una tabella con diversi campi tra cui anche uno timestamp.
    Eseguendo una query di aggiornamento su un campo in automatico mi viene aggiornato anche il campo timestamp! Come posso fare per evitare che ciò accada?

    Questa la tabella:

    CREATE TABLE `messaggi` (
    `id` tinyint(4) unsigned NOT NULL auto_increment,
    `titolo` varchar(128) default NULL,
    `testo` text NOT NULL,
    `visualizza_testo` int(1) unsigned NOT NULL default '1',
    `autore` varchar(16) NOT NULL default '',
    `data` timestamp(14) NOT NULL,
    `discussione` tinyint(4) unsigned NOT NULL default '1',
    PRIMARY KEY (`id`),
    KEY `categoria` (`discussione`)
    ) TYPE=InnoDB AUTO_INCREMENT=18 ;

    E questa la query:

    UPDATE messaggi SET visualizza_testo=0 WHERE id=xxx

  2. #2

    Re: [MySQL] canpi timestamp e UPDATE

    Originariamente inviato da superpelo
    Ciao,
    ho una tabella con diversi campi tra cui anche uno timestamp.
    Eseguendo una query di aggiornamento su un campo in automatico mi viene aggiornato anche il campo timestamp! Come posso fare per evitare che ciò accada?

    E questa la query:

    UPDATE messaggi SET visualizza_testo=0 WHERE id=xxx
    UPDATE messaggi SET
    visualizza_testo = 0,
    data = data
    WHERE id=xxx

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

  3. #3
    Riprendo il topic per non crearne uno nuovo.

    Se i campi timestamp sono due (ad esempio uno data_modifica ed uno data_inserimento, rispettivamente), bisogna specificare di non aggiornarli entrambi o basta solo non aggiornare il primo?

  4. #4
    Originariamente inviato da Sacro_Gemini
    Riprendo il topic per non crearne uno nuovo.

    Se i campi timestamp sono due (ad esempio uno data_modifica ed uno data_inserimento, rispettivamente), bisogna specificare di non aggiornarli entrambi o basta solo non aggiornare il primo?
    In mySQL 4.0.x viene aggiornato in automatico solo il primo che si trova nell'elenco dei campi.

    In mysql 4.1 si puo' definire quale dei campi deve essere (o non essere) automaticamente aggiornato. In mysql 4.1 il formato del campo diventa uguale a quello di DATETIME per adeguamento al formato di max-db ed il numero dei digit da mostrare non piu' disponibile.

    Tanto vale usare DATETIME se il campo non deve essere aggiornato.

    vedi la pillola su date/time di mysql 4.1 per riferimenti.

    http://forum.html.it/forum/showthrea...hreadid=839754



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

  5. #5
    Ti ringrazio tanto per la risposta... purtroppo sul mio server è installato ancora MySql 4.0.23.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.