Postata in: 'Convertire stringa in numero sql'
Puoi usare la CAST() per convertire il tipo string nel tipo integer, l'uso sql è questo:SELECT CAST('132' AS INTEGER);ovviamente puoi specificare anche gli attributi del tipo per una coversione ancora più specificaSELECT CAST('132' AS SIGNED INTEGER);o ancoraCAST('132' AS UNSIGNED INTEGER);e come già detto dal collega, la CAST
Postata in: 'Selezionare record per anno da data sql'
Selezionare (estrarre) dei dati in base all'anno di una data in sql è semplicissimo, in MySql andresti a scrivere una query del genere:SELECT * FROM my_table WHERE campo_data = YEAR(CURDATE())in questo modo otterrai tutti i records della tua tabella il cui anno nella colonna 'campo_data' è uguale all'anno corrente, la CURDATE() ti res
Postata in: 'Errore: column count doesn't match value count at row 1 - fix'
Puoi risolvere l'errore fornendo l'esatto numero di colonne per i dati che vuoi inserire, una query insert strutturata in questo modo:INSERT INTO my_table (column1,column2,column3) VALUES (230,'asdf sdaf','asdfs');
Postata in: 'Errore: column count doesn't match value count at row 1 - fix'
Banalmente l'errore: column count doesn't match value count at row 1 in mysql significa che il numero di colonne non corrisponde con il numero di dati che vuoi inserire.
Postata in: 'Aggiornare i campi di una tabella mysql tramite subquery da un'altra tabella'
Potresti fare la subquery con una SELECT che vada direttamente a selezionare il valore da prelevare per aggiornare il campo interessato sulla prima tabella, in questo modo:UPDATE table1 SET name = (SELECT table2.name FROM table2 WHERE table2.id = table1.id) WHERE table1.id>10Ecco un semplice UPDATE della prima tabella selezionando i valori da un
Postata in: 'Ottenere il numero della funzione count'
Devi usare semplicemente un alias nell'utilizzo di count della tua select, così da dare un nome (alias) alla colonna che conterrà il valore numerico dei record conteggiati dati in output dal motore di mysql, in altre parole devi fare la tua query così:SELECT id, COUNT(*) AS number FROM My_Table WHERE...Nell'output di risposta d
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.
Postata in: 'Creare un file di log per un database MySql'
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
Postata in: 'Campo Auto Incrementale non parte da 1'
Guarda alla fine della istruzione sql per la creazione della tabella, probabilmente trovi (ricopiato) un qualcosa come AUTO_INCREMENT=1057 che ti setta il valore iniziale dell'auto incremento. Se questo è il tuo caso, ti basta mettere AUTO_INCREMENT=1ad esempio così:CREATE TABLE IF NOT EXISTS `MyTable` (`id` int(11) NOT NULL AUTO_INCR
Postata in: 'Clausola ORDER BY su più campi'
Questo è un esempio di come utilizzare la clausola ORDER BY su più campiSELECT * FROM MyTable ORDER BY column_int, column_string ASCcon ORDER BY puoi combinare l'ordinamento dei campi come meglio credi ed adattarlo alle tue esigenze, basta separarne le colonne con la virgola.
Postata in: 'Select tra due tabelle'
Da quello che descrivi nella tua domanda, sembrerebbe che le due tabelle mysql siano relazionate con un qualche tipo di chiave, per recuperarne i dati da entrambe solitamente si fa una SELECT con JOIN tra due tabelle, non conosco la struttura di come sono definite le tue, ma potrebbe essere una query del genere:SELECT table1.*, table2.* FROM table1
Postata in: 'Reset contatore auto-increment chiave primaria in MySql'
Attenzione, cambiare la sequenza dei valori incrementali delle chiavi primarie potrebbe essere molto pericoloso, rischi di non avere più l'integrità referenziale con le tabelle correlate. Eseguire un aggiornamento del valore identificativo univoco dei records (primary key) comporterebbe andare a fare anche un aggiornamento dei va
Postata in: 'Ritornare valori multipli dopo una insert tramite una Stored Procedure'
Banalmente nella SELECT puoi richiedere due valori, ed aggiungi un LIMIT per 'limitare' appunto i risultati al numero desiderato, nel tuo caso uno solo, prova a scrivere così:SELECT LAST_INSERT_ID(), my_column FROM my_table LIMIT 1;
Postata in: 'Vedere i permessi (grant) concessi agli utenti MySql'
Al prompt di MySql lancia il comandomysql> show grants for 'user'@'host'
Postata in: 'Verificare se un indice esiste su un campo di una tabella'
Postata in: 'Cambiare la collation di una Tabella ASCII ad una UTF8 Unicode in MySql'
In MySql cambiando la Collation di una tabella in utf8_bin non sempre si ha una variazione sostanziale dello spazio occupato su disco, dipende molto dalla collation di partenza.