Visualizzazione risultati 1 fino 7 di 7

Discussione: Inserire data in database mysql da sql

  1. #1
    Guest

    Predefinito Inserire data in database mysql da sql

    Dovrei inserire dei dati in una tabella mysql utilizzando sql, cosa che so fare ma non appena arrivo al campo data non so come fare per inserire la data. Mi spiego meglio, questo è lo script sql che uso per inserire dei valori nella tabella:

    Codice:
    INSERT INTO `users`(`id`, `username`, `password`, `email`, `pin`, `reg_date`) VALUES ('1','Pippo_23','Sg7db4vscbfA3bdgshdge782','pippo_23@localhost.com','23981804','14/12/201418:15')
    ora vorrei che nel' ultimo campo invece di inserire la data manualmente la inserisca il computer. Quando inserisco i dati di un form in una tabella utilizzando php utilizzo 'time()' ma in sql non funziona come posso fare.

  2. #2
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Di che tipo è il campo `reg_date`?

  3. #3
    Guest

    Predefinito

    Ho lasciato il valore di default INT

  4. #4
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Dato che è di tipo INT non puoi memorizzare all'interno del campo una data nel formato diretto '14/12/2014 18:15', ma devi usare un timestamp nel formato unix ( o convertire la data in questo formato ).
    In ogni caso, MYSQL ha una funzione che fa per te: UNIX_TIMESTAMP.

    Puoi usarla senza argomenti per ottenere il tempo corrente in timestamp unix o trasformare una data nei formati accettati (leggi la documentazione nel link).
    Nella tua query puoi usare:
    Codice:
    INSERT INTO `users`(`id`, `username`, `password`, `email`, `pin`, `reg_date`) VALUES ('1','Pippo_23','Sg7db4vscbfA3bdgshdge782','pippo_23@localhost.com','23981804', UNIX_TIMESTAMP())
    oppure anche la funzione php che hai citato (time) che fa esattamente lo stesso.

  5. #5
    Guest

    Predefinito

    Grazie mille, ora però avrei un secondo problema, vorrei cambiare il contenuto di una singola riga della tabella usando sempre sql, oggi ho provato a fare nel seguente modo:

    Codice:
    UPDATE `ckechout` SET `id`=[value-1],`customer`=[value-2],`username`=[value-3],`message`=[value-4],`status`=[value-5],`timestamp`=[value-6],`sing_ip`=[value-7] WHERE 'id della riga da modificare'
    ma cosi cambia il contenuto di tutte le righe e non di una sola. Ad ogni riga ho assegnato un id unico per poterle distinguerle ma nonostante inserisca dopo WHERE l'id della riga da modificare, MYSQL continua a modifica tutte le righe della tabella.

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,211

    Predefinito

    Codice:
    UPDATE nometabella SET campox=nuovovalorex ... WHERE condizione
    In condizione, per selezionare una riga con un certo id non puoi indicare un numero, ma una condizione, quindi:
    Codice:
    UPDATE ...... WHERE id=id_della_riga_da_modificare
    Documentazione UPDATE.

    Ciao!
    Ultima modifica di alemoppo : 15-12-2014 alle ore 22.27.42

  7. #7
    Guest

    Predefinito

    Grazie mille ad entrambi sopratutto per i link.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •