2016-11-22 2 views
-1
insert into fees (name, salary) 
values ('john', 155), ('katy', 300); 

Dies kann manchmal einen Fehler wirftMehrere Einsätze in einer einzigen SQL-Anweisung

fehlende rechte Klammer

manchmal ist es

SQL-Anweisung beendet nicht richtig

Wenn ich doppelte Anführungszeichen für Namenseinträge verwende ... Was ist das Problem?

+2

Welche DBMS verwenden Sie? Oracle for one unterstützt diese Syntax nicht. Und ältere SQL Server-Versionen auch nicht. Sie sollten immer die ** vollständige ** und ** genaue ** Fehlermeldung posten, wenn Sie nach Hilfe fragen. –

+0

Was @a_horse_with_no_name sagte. Die Aussage selbst scheint in Ordnung zu sein. Dein Problem muss woanders liegen. – Jens

+0

@Jens: Die Aussage ist nicht "gut", wenn sie/er z. Oracle –

Antwort

0

Es wäre wahrscheinlich einfacher, mehrere SQL-Anweisungen zu haben. Zum Beispiel:

INSERT INTO fees(name, salary) VALUES ('john', 155); 
INSERT INTO fees(name, salary) VALUES ('katy', 300); 

Wenn Sie jedoch die Mehrfacheinsätzen-in-one-Anweisung verwenden möchten, können Sie einen Blick auf https://stackoverflow.com/a/452882/651174 haben, und etwas tun, wie folgt aus:

INSERT INTO fees(name, salary) VALUES ('john', 155), ('katy', 300); 

Was Verwenden Sie die SQL-Einfügung, wenn Sie Probleme mit der Formatierung von Zeichenfolgen haben?

+0

im Ausführen von der Cmd-Eingabeaufforderung – codepoetly

0

versuchen, dieses

INSERT INTO fees(name, salary) VALUES 
('john', 155), 
('katy', 300); 

Gehen Sie auf die untenstehenden Link für weitere Informationen

Inserting multiple rows in a single SQL query?

+1

Dies ist genau die Aussage in der Frage, die "einen Fehler gibt" –

+0

Ich weiß, ich habe es verpasst .... –

-1

Sie UNION oder UNION verwenden können ALL

INSERT INTO fees(name, salary) 
select 'john', 155 
union all 
select 'katy', 300 
+0

Syntaxfehler in ANSI SQL. – jarlh

Verwandte Themen