Postata in: 'Differenza tra NOW() vs CURDATE()'
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
Postata in: 'Aggiornare i campi di una tabella mysql tramite subquery da un'altra tabella'
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
Postata in: 'Concatenare stringhe MySql'
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
Postata in: 'Dimensione massima VARCHAR in MySql?'
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
Postata in: 'Errore: SELECT list is not in GROUP BY clause and contains nonaggregated column - fix'
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
Postata in: 'Cambiare la root password in MySql'
Prova con questo:UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';FLUSH PRIVILEGES;
Postata in: 'Elencare le tabelle non vuote di un database'
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'
Postata in: 'Come misurare queries per second (QPS)?'
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
Postata in: 'Cancellare tutte le tabelle di un database mysql'
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 è
Postata in: 'Come scrivere una query sql che restituisca solo gli ultimi 10 records'
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
Postata in: 'Come mostrare gli indici di una tabella'
Postata in: 'Come usare mysqli_real_escape_string()?'
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
Postata in: 'Cos'è salt quando parliamo di crittografia sha e password in MySql'
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);
Postata in: 'Campo int non tronca valore più lungo di N'
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
Postata in: 'Ottenere l'ultimo ID del record (riga) inserito in una tabella MySql con PHP'
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
Postata in: 'Settare il numero max di righe in una tabella'
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
Postata in: 'Vedere i permessi (grant) concessi agli utenti MySql'
Prova lanciando la seguente querySELECT GRANTEE, PRIVILEGE_TYPE FROM information_schema.user_privileges;
Postata in: 'Verificare se un indice esiste su un campo di una tabella'
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';
Postata in: 'Come prevenire attacchi SQL-Injection in LAMP?'
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