Mysql
 sql >> Base de données >  >> RDS >> Mysql

Message d'erreur de syntaxe MySQL L'opérande doit contenir 1 colonne(s)

Essayez de supprimer la parenthèse de la clause SELECT. De Microsoft TechNet , la syntaxe correcte pour une instruction INSERT utilisant une clause SELECT est la suivante.

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

L'erreur que vous obtenez, "Le SELECT examinerait plus de MAX_JOIN_SIZE lignes ; vérifiez votre WHERE et utilisez SET SQL_BIG_SELECTS=1 ou SET SQL_MAX_JOIN_SIZE=# si le SELECT est correct.", est en fait correct, en supposant que vous avez de nombreuses lignes dans les deux BOOK et temp_cheques. Vous essayez d'interroger toutes les lignes des deux tables et de créer une référence croisée, ce qui entraîne une requête de taille m*n. SQL Server essaie de vous en avertir avant d'effectuer une opération potentiellement longue.

Définir SQL_BIG_SELECTS =1 avant d'exécuter cette instruction, puis réessayez. Cela devrait fonctionner, mais notez que cette opération peut prendre beaucoup de temps.