Registrandoti e creando un nuovo account potrai usufruire di tutti i servizi messi a disposizione, fare domande, rispondere agli utenti, accumulare punti e diventare un utente riconosciuto come esperto; ricevere la nostra newsletter e molto altro ancora. Il tutto in modo semplice, veloce e soprattutto gratuito. Una volta effettuata la registrazione veloce, potrai completare l'inserimento dei tuoi dati accedendo al tuo profilo.
Crea un AccountHai perso la tua Password? Inserisci l'e-mail (username) con la quale ti sei registrato, e ti invieremo una email con una nuova password che potrai poi cambiare una volta entrato nel tuo profilo.
Non è un discorso di qual'è migliore tra le due funzioni NOW() o CURDATE(), entrambe servono per recuperare le date in un database MySql, e mentre la prima, la NOW ritorna un DATETIME (date + time) la seconda ovvero la CURDATE ritorna un DATE (date). Se provi a fare una SELECT in MySql invocando queste funzioni ti accorgerai dell
Se vuoi aggiornare i campi di una prima tabella, anziché usare una subquery per selezionare i valori da una seconda tabella, potresti usare direttamente un JOIN tra le tabelle, in questo modo:UPDATE table1 t1 JOIN table2 t2 ON t1.id=t2.id SET t1.name=t2.name;anche questa è una query sql molto pulita e veloce per fare un UPDATE dei cam
In MySql il tipo string viene rappresentato dai tipi: CHAR, VARCHAR e TEXT (con i suoi sottotipi). Come in tutti i linguaggi sql (e non) le stringhe rivestono un ruolo fondamentale per la trattazione dei dati, e come giustamente sottolinei tu, poterle trattare direttamente a livello di database è una ottimizzazione a livello di performance d
La rappresentazione interna di una tabella MySQL ha un limite di dimensione massima di riga (row) di 65,535 bytes (65Kb), a questi devi escludere i tipi BLOB e TEXT poiché le colonne definite con questi tipi particolari occupano dai 9 ai 12 bytes, perchè il loro contenuto (data) sono memorizzate separatamente dal resto delle altre rig
Puoi disabilitare l'impostazione only_full_group_by eseguendo le seguenti impostazioni:mysql> set global sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';mysql> set session sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_A
Prova con questo:UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';FLUSH PRIVILEGES;
Se vuoi elencare le tabelle non vuote per un certo database, lancia la seguente query:SELECT * FROM `TABLES` WHERE `TABLE_ROWS` > 0 AND `TABLE_SCHEMA` = 'database_name'
Un modo per misurare l'efficienza delle queries sql, potrebbe essere quella di creare un job che venga richiamato in maniera candenzata ed esegua il comando:SHOW STATUSPoi con uno script si potrebbe calcolare la differenza tra le chiamate successive a SHOW STATUS e dividerle per il numero di secondi tra le misurazioni per ottenere le query al secon
Puoi eseguire la query DROP database, questa cancellerà (drops) tutte le tabelle in esso presenti; attenzione però che detto statement cancella in maniera permanente anche il database, quindi se il tuo intento è solo quello di 'svuotarlo' delle sue tabelle, devi ricreare il database subito dopo. La sintassi esatta è
Supponendo che la tabella si chiami Comments, la query che cerchi di eseguire è molto semplice, per ritornare solo gli ultimi 10 records di una tabella, in MySql ti basta usare l'operatore LIMIT in questo modo:SELECT * FROM Comments ORDER BY date DESC LIMIT 10e li ordini con ORDER BY per il campo date in maniera decrescente (DESC), semplice
Penso che una soluzione più semplice sia settare a runtime il file php.ini con magic quotes a zero 0 (falso, disabilitato) nel tuo script, basta scrivere:ini_set('magic_quotes_runtime', '0');è bene precisare che la magic_quotes_gpc è una direttiva separata che si applica solo agli array globali GET / POST / COOKIE.La funzione i
Aggiungo alla abbondante spiegazione data da Giacomo su cos'è il salt e l'uso che se ne fà, un banale esempio di generazione di una password con salt:$salt = "il mio salt";$password = "L4Mi4Password";$hash = sha1($salt.$password);
N in INT(N), che indica la lunghezza di visualizzazione del campo e non la sua dimensione; questo è stato molto fuorviante per tantissimi utenti, a causa di questa sintassi praticamente uguale a quella con VARCHAR(N), viene (a ragione) spesso frainteso. La dimensione di un INT in MySql è di 4 byte, e specificarne la lunghezza &eg
Se vuoi rimanere indipendente dal codice di programmazione per ottenere l'ultimo id inserito, potresti usare direttamente la query SELECT sfruttando la funzione MAX, in questo modo:SELECT MAX(id) FROM MyTable
Che io sappia non c'è un modo di default per settare la tabella MySql ad accettare un numero massimo di records, potresti impostare un trigger che all'evento 'INSERT' verifichi se il record o i records inseriti siano maggiori di N, ed in quel caso prima di eseguire la query d'inserimento andrebbe a cancellare i records più vecchi in e
Prova lanciando la seguente querySELECT GRANTEE, PRIVILEGE_TYPE FROM information_schema.user_privileges;
L'utente chiede di verificare o mostare l'indice su un determinato campo della sua tabella MySql, quindi sarebbe più opportuno scrivere così:SHOW INDEX FROM tua_tabella WHERE tua_tabella.tua_colonna='nome_colonna';
Indipendentemente da LAMP (Linux Apache MySql PHP) il modo migliore per trattare l'input di dati prima che questi vengano scritti sul database e pertanto essere potenzialmente dannosi se contengono codice sql malevolo, è quello di adoperare le PDO (PHP Data Object), una libreria che t'interfaccia col database MySql (e non solo) consentendoti