Postata in: 'Selezionare record per anno da data sql'
E se invce vuoi selezionare i dati dell'anno precedente ti basterà scrivere la query sql in questo modo:SELECT * FROM my_table WHERE campo_data = YEAR(DATE_SUB(CURDATE(), INTERVAL 1 YEAR))
Postata in: 'Errore: column count doesn't match value count at row 1 - fix'
Il messaggio di errore restituitoti da MySql:column count doesn't match value count at row 1significa che il numero dei valori (dati) che tu stai cercando di inserire tramite la insert non corrisponde con il numero di colonne presenti nella tabella, e questo può accadere per 2 motivi:Hai definito meno colonne nella tabella rispetto ai dati c
Postata in: 'Aggiornare i campi di una tabella mysql tramite subquery da un'altra tabella'
Potresti farlo anche con un JOIN sulle due tabelle, se vuoi farlo con una SELECT (subquery) sulla seconda tabella, puoi farlo in questo modo:UPDATE table1 t1, (SELECT id, name FROM table2) t2 SET t1.name = t2.name WHERE t1.id = t2.idNon è poi così difficile aggiornare i data con una subquery ;)
Postata in: 'Error 1264: out of range value for column - fix'
il valore che tu stai cercando d'inserire 3235977883 è più grande del massimo valore accettabile per il tipo intero INT in MySql che è 2147483647. Ecco perché ricevi quell'errore 1264 di "out of value", perché eccedi la dimensione massima. Per risolvere l'errore potresti contrassegnare il tuo campo INT con UN
Postata in: 'Ottenere il numero della funzione count'
Nella tua query ti basta cambiareCOUNT(*) FROMinCOUNT(*) as count FROMInoltre ti suggerisco di fare un count magari su 'id' (una chiave primaria) anziché sul totale dei campi (*) della tua tabella, migliorerai la velocità e le prestazioni della tua select.
Postata in: 'Errore: Incorrect integer value: 'NULL' for column 'id' at row 1 - fix'
Prova a scrivere la INSERT in questo modo:INSERT INTO my_table (id, title) values (null, "Mio titolo");se id è settato come chiave primaria con attributo AUTO_INCREMENT, il valore null verrà in automatico sostituito con un intero incrementale alla chiave del record precedente.
Postata in: 'Errore: Data too long for column at row 1 - fix'
Il tipo VARCHAR() in mysql così come anche negli altri RDBMS ha i suoi limiti, ossia un campo (colonna) dichiarato come tale non può contenere una mole di dati più grande di quella dettato dal suo limite ovvero dalla lunghezza specificata per esso. Se tu dichiari un campo come VARCHAR(10), 10 sta ad indicare il numero di c
Postata in: 'Cambiare la root password in MySql'
Direttamente dalla documentazione ufficiale di MySql, per resettare la root password scrivi:ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
Postata in: 'Elencare le tabelle non vuote di un database'
Questa query dovrebbe funzionare abbastanza bene per ottenere la lista delle tabelle non vuote da MySql:SHOW TABLE STATUS WHERE Rows > 0;
Postata in: 'Come misurare queries per second (QPS)?'
Postata in: 'Cancellare tutti i records duplicati'
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?
Postata in: 'Come mostrare gli indici di una tabella'
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
Postata in: 'Come usare mysqli_real_escape_string()?'
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
Postata in: 'Select e Update in una sola query SQL'
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!
Postata in: 'Inserire dati Binary in MySql'
Ho scoperto che in MySql posso definire i dati binary anche con i tipi VARBINARY e BINARY oltre che BLOB