Postata in: 'Uncaught mysqli_sql_exception: Table is marked as crashed and should be repaired'

AskDB Staff

Non bisogna stupirsi di ricevere il seguente messaggio di errore: "Fatal error: Uncaught mysqli_sql_exception: Table 'table_name' is marked as crashed and should be repaired in" Esso indica che la tabella (che è pur sempre un file fisico residente su file system) per un qualche motivo diciamo si è "danneggiata", probabilment

Pubblica
10-11-2024 09:34:16 +1

Postata in: 'Convertire stringa in data sql'

AskDB Staff

Per convertire una stringa in data, ovvero rappresentate una data temporale di tipo DATE, in sql esiste la funzione apposita STR_TO_DATE , che in pratica non fà altro che un CAST dal tipo stringa o meglio CHAR e/o VARCHAR a quello DATE, ovviamente la stringa contenente la data deve essere in un formato consono ad essere convertito, ed in MyS

Pubblica
31-08-2024 11:44:38 0

Postata in: 'Come impostare (SET UPDATE) un valore NULL su una colonna in sql'

AskDB Staff

Per settare un valore a NULL, la sintassi dell'istruzione sql UPDATE è la seguente:UPDATE 'table_name' SET column_name=NULL WHERE Criteria; Se ricevi un errore eseguendo la DML (Data Manipolation Languange) UPDATE, allora quasi certamente il campo per quella colonna è stato dichiarato come 'NOT NULL' In questo caso devi modi

Pubblica
31-08-2024 11:18:15 +1

Postata in: 'MyISAM versus InnoDB'

AskDB Staff

Trovi una risposta approfondita su questa domanda in questo post: Differenze tra tabelle MyISAM ed InnoDB.

Pubblica
30-08-2024 10:12:47 0

Postata in: 'Come rinominare un database in MariaDB'

AskDB Staff

L'istruzione RENAME è ormai in disuso anche in MySql, così come spiegato in questo post Come rinominare un database MySql, e lo stesso vale per MariaDB (che altri non è che un fork di MySql, ed all'incirca funzionano allo stesso modo). Quindi è normale ricevere un errore di sintassi sql quando si cerca di rinominarlo.&nb

Pubblica
30-08-2024 10:06:54 0

Postata in: 'Error: SELECT list is not in GROUP BY clause and contains nonaggregated column'

Giorgio Borelli

Importante sottolineare che eseguendo l'istruzioneSET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));per modificare la variabile sql-mode , questa avrà effetto solo sulla query interessata e la modifica non sarà permanente sull'intero db. Per rendere permanente la modifica alla sql-mode e disabilitare in mod

Pubblica
29-08-2024 10:10:55 +1

Postata in: 'Error: SELECT list is not in GROUP BY clause and contains nonaggregated column'

AskDB Staff

Si riceve il messaggio di errore "SELECT list is not in GROUP BY clause and contains nonaggregated column", perché in MySql a partire dalla versione 5.7.5 (e superiori) è attiva di default la modalità ONLY_FULL_GROUP_BYQuesta non consente di eseguire query di tipo SELECT su colonne aventi condizioni HAVING o raggruppare records

Pubblica
29-08-2024 10:01:07 +2

Postata in: 'Come rinominare una tabella SQL'

AskDB Staff

Rinominare una tabella sql per un qualsivoglia database MySql o MariaDB è molto semplice, basta usare l'istruzione RENAME in questo modo:RENAME TABLE 'nome_tabella' TO 'prefix_nome_tabella'; Se il tuo scopo invece è rinominare contemporaneamente più tabelle con lo stesso prefisso (prefix) invece è un discorso pi&ugr

Pubblica
28-08-2024 11:15:06 +1

Postata in: 'Come cambiare o convertire tabella InnoDB in MyISAM'

Giorgio Borelli

E' bene precisare che puoi cambiare le tabelle da Innodb a Myisam e viceversa con l'istruzione ALTER illustrata, ma non puoi cambiare l'intero store engine di tutto il database con una singola istruzione SQL. Se vuoi cambiare lo store engine di default dell'intero database da innodb a myisam devi farlo a livello di file di configurazione my.cn

Pubblica
27-08-2024 11:31:42 0

Postata in: 'Come cambiare o convertire tabella InnoDB in MyISAM'

AskDB Staff

Convertire una tabella InnoDB in MySql è molto semplice, basta eseguire la seguente istruzione SQL:ALTER TABLE `nome_tabella` ENGINE=INNODB;Se al contrario vuoi cambiare da MyISAM in InnoDB basta cambiare il tipo di store engine nella ALTER:ALTER TABLE `nome_tabella` ENGINE=MyISAM;Nella precedente domanda puoi scoprire tutte le differenze tr

Pubblica
27-08-2024 11:19:59 +2

Postata in: 'Differenza tra tabelle MyISAM e InnoDB, qual'è più veloce?'

Giorgio Borelli

E' vero che le tabelle MyIsam in generale sono più veloci di quelle InnoDB, ma la scelta di una tipologia di tabella piuttosto che di un'altra, deve essere determinata dal tipo di applicativo da andare a realizzare, il quale comporterà conseguentemente la mole di dati, la loro gestione ed interrogazione sul database; e sulla base di q

Pubblica
24-08-2024 11:36:57 0

Postata in: 'Differenza tra tabelle MyISAM e InnoDB, qual'è più veloce?'

AskDB Staff

Nella progettazione di un database relazionale è importante conoscere e scegliere anche la tipologia di tabella che andrà a contenere e gestire i nostri dati. Se parliano di MySql e MariaDB i tipi di tabelle più usate sono MyISAM ed InnoDB, la prima è la tipologia di tabella di default quando si crea una nuova tabel

Pubblica
24-08-2024 11:02:50 +2

Postata in: 'Come risolvere in XAMPP Error: MySQL shutdown unexpectedly'

AskDB Staff

L'errore MySQL shutdown unexpectedly di tanto in tanto si verifica su XAMPP, e molto probabilmente è legato alla "corruzione" di qualche database o file di informazione presenti nella cartella data di MySql (o MariaDB) presenti nella installazione di XAMPP. Per risolvere segui esattamente questi passaggi:Stoppa i servizi Apache e MySql

Pubblica
23-08-2024 11:51:40 +2

Postata in: 'Error: Duplicate entry '0' for key 'PRIMARY''

Giorgio Borelli

Per definire un campo ID "chiave primaria" come valore AUTO INCREMENTALE, bisogna modifica la tabella con la seguente istruzione sql: ALTER TABLE `my_table_name` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1;COMMIT; Specificando AUTO_INCREMENT=1 stiamo dicendo al motore del database di partire dal valore numerico 1 per l'

Pubblica
22-08-2024 16:18:11 0

Postata in: 'Error: Duplicate entry '0' for key 'PRIMARY''

AskDB Staff

Il messaggio di errore:Duplicate entry for key 'PRIMARY'viene visualizzato poiché nella tabella in cui viene eseguita la query esiste una colonna (quasi certamente un ID) definita come primary Key, e pertanto cercare di fare l'INSERT di un record per il quale il valore ID non è definito o è già presentei in tabella, prod

Pubblica
22-08-2024 16:10:57 +2

Postata in: 'mysqli_sql_exception: Access denied; you need (at least one of) the SUPER or SYSTEM_VARIABLES_ADMIN privilege(s) for this operation in'

AskDB Staff

L'eccezione "mysqli_sql_exception: Access denied you need privilege(s) for this operation", significa che stai cercando di eseguire una istruzione sul DB per i quali l'utente non hai i permessi adeguati. In questo particolare caso l'utente che accede al db Mysql sta cercando di modificare una variabile di sistema, la max_allowed_packet , ma ev

Pubblica
07-07-2024 12:19:36 +1

Postata in: 'mysqli_sql_exception: Cannot assign requested address in'

AskDB Staff

Il problema risiede proprio nell'esecuzione di molteplici query per le quali vengono aperte e chiuse (si auspica) diverse richieste di connessioni al db MySql in poche frazioni di secondo, la porta in locale per la connessione al DB è costantemente in esecuzione (running) e di fatto non riesce a gestire tutte queste richieste in così

Pubblica
06-07-2024 12:32:47 +1

Postata in: 'Come cambiare il max allowed packet size in mysql o mariadb'

Giorgio Borelli

Potete cambiare le dimensioni dei pacchetti/query inviabili per max_allowed_packet anche via codice (ad es. in php), come spiegato in questo post: MySql server has gone away. Ammesso sempre che abbiate i permessi utente a livello di database per farlo, ed in ogni caso al riavvio del server MySql vi ritrovereste nuovamente limitati alle dimensi

Pubblica
05-07-2024 11:53:01 +2

Postata in: 'mysqli_sql_exception (error 2006): MySQL server has gone away in XAMPP'

AskDB Staff

Se avete i giusti permessi di accesso al DB MySql interessato dalla "mysqli_sql_exception MySQL server has gone away in" , potete cambiare le dimensioni dei max_allowed_packet consentiti, anche tramite l'istruzione SQL o direttiva da linea di comandoset global max_allowed_packet=128000000;che equivalgono a 16M in bit.

Pubblica
26-06-2024 10:50:19 0