Postata in: 'Elencare le tabelle non vuote di un database'
Devi fare una query SELECT su 'information_schema' in questo modo:SELECT * FROM `information_schema`.`TABLES` WHERE `TABLE_ROWS` > 0essa ritornerà la lista delle tabelle non vuote.
Devi fare una query SELECT su 'information_schema' in questo modo:SELECT * FROM `information_schema`.`TABLES` WHERE `TABLE_ROWS` > 0essa ritornerà la lista delle tabelle non vuote.
La seguente query dovrebbe andar bene per fare quello che chiedi:SELECT * FROM( SELECT * FROM My_Table WHERE some_conditions LIMIT 1000) AS Alias_NameORDER BY RAND()LIMIT 4;dove ovviamente quella tra parentesi è una subquery o query annidata se preferisci.
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
Non devi creare alcun file di log, esistono già una varietà di files di log MySql, quello degli errori, quello per le connessioni, il log per le modifiche ai records (Binary log), c'è persino il 'Slow query log' un registro che archivia le query che sono risultate più lente del normale. Trovi tutti i riferimenti ai
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 è
Certo che SI, esiste la funzione GREATEST, la quale accetta due o più argomenti in ingresso, e ritorna il più grande di esso. Inoltre essa funziona su tipi di dati differenti, e se i valori passati sono NULL ritornerà essa stessa NULL. Prelevato in toto dalla documentazione ufficiale MySql, ti mostro un esempio del funzion
Per memorizzare del codice all'interno del db e capire quale tipo di dato è più adatto a questa operazione di insert, devi capire o devi dirci cosa essattamente vuoi memorizzare! Se intendi archiviare il codice (ad es. php) in chiaro, allora ti consiglio di usare il tipo TEXT, se invece (come suppongo) la tua intenzione è
Benissimo Giacomo Barrile, la tua è un'ottima soluzione, ma io ho bisogno di cancellare le rows duplicati di una tabella con records già esistenti, alterando la tabella come tu dici cosa accade?
Anziché impelegarti in complicate e perigliose query e subquery DELETE, il modo migliore e più semplice per ottenere quello che cerchi, ovvero evitare che si creiino rows duplicate è quello di creare un indice unico (UNIQUE INDEX) sui campi (colonne) che ti interessano restino unici, nel tuo caso il solo campo nome; ti basta mo
Aggiungo a quanto già risposto che probabilmente tu abbia implementato anche una relazione 1 a n tra la tabella che rappresenta il post del blog ed i commenti ad esso associati, sarebbe più opportuno scrivere una query che sfrutti tale relazione tramite un semplice JOIN, oppure ancora più banalmente passare l'id (identificativo
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
Il blocco per evitare accessi simultaneei al database si può fare o a livello di tabella, in questo caso si parla di lock table oppure a livello di riga ed allora si parla di lock row. Ti linko un ottimo ed approfondito esempio di quando e come usare il lock in MySql.
In aggiunta a quanto risposto precedentemente, se hai più database e per elencare gli indici di una tabella devi riferirti ad uno specifico db, basta indicarlo come nella seguente istruzione sql:SHOW INDEX FROM mytable FROM mydb;oppure nella forma sql più compatta:SHOW INDEX FROM mydb.mytable;ovviamente ottieni lo stesso identico risu
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
Sicuramente il file php.ini sul tuo server remoto ha magic_quotes abilitato. Puoi verificarlo eseguendo la semplice istruzione:echo var_dump(get_magic_quotes_gpc()); //Ritorna TRUE (vero) se è abilitatoDisabilita magic_quotes sul server per ottenere un comportamento a livello globale, oppure usa di volta in volta le funzioni di abilitazione
Onestamente non ci ho capito molto della tua spiegazione, e no non volevo sapere la differenza tra tabelle ed oggetti, ma piuttosto qual'è la differenza tra il modello dei database relazionali e quello ad oggetti, ed in particolare cosè il modello ad oggetti delle basi di dati (database).
Quindi la tua domanda è: qual è la differenza tra oggetti e tabelle? Una tabella è composta da righe e colonne (o da record e campi se preferisci). Un oggetto è costituito da dati e metodi. Una tabella ha spesso la chiave primaria come una delle sue colonne (o più colonne) per identificare in maniera univoca
Usa la clausola WHERE nella tua query UPDATE ed otterrai direttamente il risultato desiderato senza bisogno di fare prima la SELECT, in questo modo:UPDATE my_tableSET column_id = column_id + 1WHERE column_id = valueCosì non c'è bisogno di fare un'unica query SELECT e UPDATE, semplice no!