2 Stimmen

Was ist an dieser Einfügeabfrage falsch?

Ich versuche, die folgende Abfrage im MS-SQL-Manager auszuführen, aber ich erhalte ständig Syntaxfehler.

Msg 102, Level 15, State 1, Line 8
Incorrect syntax near ' '.

INSERT INTO dbo.Survey 
(
    Title, 
    Active, 
    StartDate, 
    EndDate
)
VALUES  
(
    'Title test', 
    '1', 
    null, 
    null
);

// Table
SurveyId (primaryId)
Title  (varchar)
Active (bit)
StartDate (datetime)(nullable)
EndDate (datetime)(nullable)

7voto

SQLMenace Punkte 128184
Incorrect syntax near ' '

Doppelklicken Sie auf den Fehler, um zu der betreffenden Zeile zu gelangen

Es sieht so aus, als hätten Sie eine Art Leerzeichen in Zeile 8 (nach Values) fügen Sie es in etwas wie NotePad++ ein und suchen Sie nach versteckten Zeichen

oder ändern

VALUES  
(

zu

VALUES(

1voto

HLGEM Punkte 91543

Außerdem geht aus Ihrer Tabellenstruktur nicht hervor, ob es sich um einen Identitätsschlüssel handelt. Wenn dies nicht der Fall ist, ist der PK erforderlich und muss daher einen Wert haben, um eingefügt zu werden.

Die zweite Möglichkeit ist, dass der Fehler bei einem Trigger in der Tabelle auftritt.

0voto

fdaines Punkte 1176

Versuchen Sie, den Wert 1 oder b'1' in die Spalte Active einzufügen.

0voto

Jeff Punkte 388

Ich habe Probleme gesehen, bei denen ein Ausschneiden und Einfügen zwischen einem Unicode- und einem Nicht-Unicode-Dokument gut aussieht, sich aber bei verschiedenen Versionen von SQL Server seltsam verhält.

Um dies zu beheben, habe ich in der Vergangenheit in Management Studio ein Speichern unter "mit Kodierung" durchgeführt und dann etwas wie "Westeuropa (Windows) - Codepage 1252" ausgewählt.

Um die erweiterten Speicheroptionen zu erhalten, wählen Sie "Datei", "Speichern unter", klicken Sie dann auf den Pfeil ganz rechts neben der Schaltfläche "Speichern" und wählen Sie "Mit Kodierung speichern".

Eine andere Lösung wäre, etwas wie PureText (kostenlose Software) zu verwenden, um Ihren Code auszuschneiden und einzufügen, ohne den Zwischenschritt über Notepad gehen zu müssen.

http://www.stevemiller.net/puretext/

Ich hoffe, das hilft!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X