SQL e Query
ERROR 1172 (42000): Result consisted of more than one row. – MySQL 1172
Una sottoquery utilizzata in un contesto scalare (es. in un confronto `=` o in una clausola `SET col = (SELECT ...)`) restituisce due o più record anziché un unico valore.
Cosa significa questo errore?
Una sottoquery utilizzata in un contesto scalare (es. in un confronto `=` o in una clausola `SET col = (SELECT ...)`) restituisce due o più record anziché un unico valore.
Messaggio originale
ERROR 1172 (42000): Result consisted of more than one row.Contesto e parole chiave
Alias
- 1172
- ER_SUBQUERY_NO_1_ROW
Messaggi alternativi
- il risultato della sottoquery contiene più di una riga
Prodotti
- MySQL Server / Percona Server / MariaDB / InnoDB Engine
Piattaforme
- Linux
- macOS
- Multipiattaforma
- Windows Server
Parole chiave
- 1172
- database
- errore-mysql-1172-subquery-returns-more-than-one-row
- innodb
- mysql
- mysql.sql.1172-result-consisted-of-more-than-one-row
- SQL e Query
Cause possibili
Origine del problema per MySQL: Errore 1172 — sottoquery scalare restituisce più di una riga
Una sottoquery utilizzata in un contesto scalare (es. in un confronto `=` o in una clausola `SET col = (SELECT ...)`) restituisce due o più record anziché un unico valore.
molto comuneDiagnosi
Ispezione diagnostica MySQL per MySQL: Errore 1172 — sottoquery scalare restituisce più di una riga
Eseguire comandi di controllo di stato nel client MySQL o consultare il file di log degli errori /var/log/mysql/error.log.
Come leggere il risultato. Mostra lo stato interno di lock, transazioni in corso o errori di allocazione e vincoli relazionali.
SHOW ENGINE INNODB STATUS\GRisoluzione
Procedura di risoluzione per MySQL: Errore 1172 — sottoquery scalare restituisce più di una riga
Applicare la correzione al database o alla query secondo le best practice di amministrazione MySQL.
- Ispezionare la sintassi della query o la configurazione delle variabili
- Regolare i parametri in my.cnf o correggere i vincoli DDL
- Testare nuovamente la connessione o l'esecuzione della transazione
Domande frequenti
Come risolvere il codice 1172 in MySQL?
Una sottoquery utilizzata in un contesto scalare (es. in un confronto `=` o in una clausola `SET col = (SELECT ...)`) restituisce due o più record anziché un unico valore.
Approfondimenti
- MySQL Server Error Reference - Oracle Documentation documentazione_ufficiale