sql >> Database >  >> RDS >> Mysql

MySQL-syntaxisfoutbericht Operand moet 1 kolom(men) bevatten

Probeer het haakje uit de SELECT-component te verwijderen. Van Microsoft TechNet , is de juiste syntaxis voor een INSERT-instructie die een SELECT-clausule gebruikt, de volgende.

INSERT INTO MyTable  (PriKey, Description)
       SELECT ForeignKey, Description
       FROM SomeView

De fout die je krijgt, "De SELECT zou meer dan MAX_JOIN_SIZE rijen onderzoeken; controleer je WHERE en gebruik SET SQL_BIG_SELECTS=1 of SET SQL_MAX_JOIN_SIZE=# als de SELECT in orde is.", is eigenlijk correct, ervan uitgaande dat je veel rijen in beide hebt BOEK en tijdelijke cheques. U probeert alle rijen van beide tabellen op te vragen en een kruisverwijzing te maken, wat resulteert in een m*n-query. SQL Server probeert u hiervoor te waarschuwen voordat een mogelijk lange bewerking wordt uitgevoerd.

Stel SQL_BIG_SELECTS in =1 voordat u deze instructie uitvoert, en probeer het opnieuw. Het zou moeten werken, maar houd er rekening mee dat deze bewerking lang kan duren.



  1. Aantal(*) versus Aantal(1) - SQL Server

  2. Hoe EXPORT_SET() werkt in MariaDB

  3. MySQL-opgeslagen procedures gebruiken ze of niet om ze te gebruiken

  4. SQL Server ORDER BY-datum en nulls duren