Postata in: 'Convertire stringa in numero sql'

Giacomo Barrile

Per convertire una stringa in numero in sql (MySql), esistono due funzioni predefinite del linguaggio, CONVERT e CAST che svolgono proprio questo compito.Sia l'una che l'altra sono in grado di convertire non solo una stringa in numero, ma qualsiasi tipo in un altro che tu specifichi come secondo parametro, la signature (firma) delle due funzioni &e

Pubblica
26-03-2020 09:26:08 +2

Postata in: 'Importare manualmente un database mysql'

Giacomo Barrile

In linea teorica no, in pratica puoi copiare direttamente la cartella contenente i file del tuo database (le tabelle con estensione .frm .MYD .MYI, tre file per ogni tabella) dentro la cartella 'data' di MySql, ti ritroverai il database copiato dentro phpMyAdmin. Ti sconsiglio però di fare un copia incolla brutale, poiché il data

Pubblica
20-03-2020 17:39:31 0

Postata in: 'Differenza tra NOW() vs CURDATE()'

Giacomo Barrile

La differenza tra CURDATE() e NOW() è che la prima ti ritorna la data corrente, mentre la seconda la data e l'ora corrente.Completano la famiglia delle funzioni per la gestione delle date in MySql assieme alla DATE() ed alla CURTIME(), e per capirne meglio le date trattate, guarda gli esempi di query sottostanti:CURDATE() = DATE(NOW()) 

Pubblica
20-03-2020 17:15:20 0

Postata in: 'Error 1264: out of range value for column - fix'

Giacomo Barrile

Il perché dell'errore 1264 è proprio quello indicato da Michele Ladonia, potrei ulteriormente suggerire di utilizzare eventualmente anche un campo stringa piuttosto che un big int, a meno che tu non stia realizzando un applicativo di tipo scientifico mi sembra improbabile che tu abbia esigenze di trattare numeri così grandi, pr

Pubblica
08-03-2020 16:18:16 0

Postata in: 'Selezionare il valore più basso da una tabella con la funzino min'

Giacomo Barrile

è normale che una select min lanciata in quel modo ti ritorni tutti i records della tabella, devi usare la clausola GROUP BY sul nome dei prodotti, o meglio sull'identificativo univoco (id) che suppongo tu abbia definito per essa, in questo modo ad es.SELECT prod_name, MIN(prod_price) AS low_price FROM products GROUP BY prod_namenota anche c

Pubblica
23-09-2019 17:29:26 0

Postata in: 'Dimensione massima VARCHAR in MySql?'

Giacomo Barrile

La lunghezza massima del tipo varchar è soggetta al limite max di riga (row) previsto per MySQL, il quale è di 64Kb (non considerando in questo limite i BLOBs ed i TEXT). Se tu provi a settare VARCHAR(65535) devi considerare comunque che questo non è il valore massimo, o il numero massimo di caratteri ammissibili, il limit

Pubblica
10-09-2019 18:40:29 +2

Postata in: 'Errore: Incorrect integer value: 'NULL' for column 'id' at row 1 - fix'

Giacomo Barrile

Penso che il tuo MySQL Server sia in esecuzione in strict mode.L'errore: "Incorrect integer value: 'NULL' for column" può essere risolto in due modi, ma per farlo devi avere privilegi alti per poter accedere alle impostazioni globali di MySql, probabilmente dovrai contattare il tuo provider per poter procedere. Metodo 1:Apri il file "my

Pubblica
09-09-2019 18:49:08 0

Postata in: 'Errore: SELECT list is not in GROUP BY clause and contains nonaggregated column - fix'

Giacomo Barrile

L'errore: SELECT list is not in GROUP BY clause and contains nonaggregated column si manifesta nellaversione MySql 5.7 in base alle impostazioni di modalità di esecuzione del server di Database MySql che opera in STRICT_MODE ed in questo particolare caso anche in only_full_group_by, mentre le versioni precedenti erano impostate di default di

Pubblica
09-09-2019 13:16:18 0

Postata in: 'Il campo id non ha un valore di default'

Giacomo Barrile

Quasi certamente il tuo campo 'id' rappresenta una primary key, che deve essere univoca per ogni record, tradotto in soldoni significa che ogni riga della tua tabella deve avere un valore diverso nel tuo campo id.Credo ti basti alterare la tabella e settare id come primary key e come campo auto incrementale, cosìid int NOT NULL AUTO_INCREMEN

Pubblica
02-09-2019 19:41:23 +1

Postata in: 'Select random data con una query nidificata (subquery)'

Giacomo Barrile

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. 

Pubblica
04-05-2019 09:38:06 0

Postata in: 'Selezionare il valore più grande di una riga'

Giacomo Barrile

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

Pubblica
02-05-2019 11:05:16 0

Postata in: 'Memorizzare codice html e php in un database'

Giacomo Barrile

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 è

Pubblica
30-04-2019 18:31:47 +1

Postata in: 'Cancellare tutti i records duplicati'

Giacomo Barrile

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

Pubblica
29-04-2019 16:45:19 +1

Postata in: 'Lock table in MySql'

Giacomo Barrile

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.

Pubblica
11-04-2019 22:22:30 0

Postata in: 'Cos'è il Modello ad Oggetti dei Database'

Giacomo Barrile

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

Pubblica
07-04-2019 16:07:40 +1

Postata in: 'Select e Update in una sola query SQL'

Giacomo Barrile

Attenzione che se il tuo campo 'column_id' è un identificatore univoco o meglio ancora una primary key puoi direttamente definirlo come valore auto_increment senza necessità di eseguire prima la SELECT e poi l'UPDATE.

Pubblica
06-04-2019 10:32:53 0

Postata in: 'Campo Auto Incrementale non parte da 1'

Giacomo Barrile

Puoi aggiornare il valore di partenza del campo auto_increment alterando la tabella MySql, così:ALTER TABLE <tablename> AUTO_INCREMENT=1;

Pubblica
05-04-2019 16:21:09 0

Postata in: 'Cos'è salt quando parliamo di crittografia sha e password in MySql'

Giacomo Barrile

Il "salt" è un valore o termine che viene aggiunto ad una password che si desidera criptare in un certo modo, aumentandone la robustezza e conseguentemente la sicurezza, può essere messo prima, dopo o da qualche parte all'interno della password, a condizione che la sua posizione e il suo valore siano coerenti per una determinata passw

Pubblica
03-04-2019 22:54:22 +1

Postata in: 'Select tra due tabelle'

Giacomo Barrile

Aggiungo a quanto già spiegato nella risposta di Federico Di Sutta, che nel caso le due tabelle possiedano dei campi con nomi uguali, bisogna specificarne degli alias pena un errore da parte di mysql nell'esecuzione della query.

Pubblica
02-04-2019 16:34:06 -3

Postata in: 'Aggiungere un record con un certo valore solo se non esiste in tabella'

Giacomo Barrile

Puoi usare lo statemet INSERT IGNORE, traducendo direttamente dalla documentazione mysql otterrai quello che desideri, esso infatti riporta:Se si utilizza la parola chiave IGNORE, gli errori che si verificano durante l'esecuzione dell'istruzione INSERT vengono invece considerati come avvertenze. Ad esempio, senza IGNORE, una riga che duplica un ind

Pubblica
02-04-2019 16:16:15 0