2017-01-04 11 views
1

Ich habe eine SQL-Abfrage, die Daten in die Datenbank einfügt. Unten ist mein Beispieldaten:SQL Escape '#' Symbol

  • OrderID:
  • E-Mail: #TestDistribution

aber wenn ich versuche, die OrderID und Email Werte in die Tabelle einzufügen, aber Die '#' kann nicht von SQL Server gelesen werden.

Also, wie würde ich es entkommen?

Ich habe eine Idee von Apostroph kann mit CHAR(29) entkommen und was wäre das Äquivalent für #?

Unten ist meine Frage:

INSERT INTO orders(orderid,email) VALUES(1,'#TestDistribution') 

Im Folgenden finden Sie die Tabellenstruktur:

Aufträge

  • orderid: int
  • email: nchar(150)

Es wurde kein Fehler vom Server ausgelöst, aber beim Überprüfen der Tabelle orders wurden die Daten nicht eingefügt.

+0

Bitte zeigen Sie Ihre Insert-Anweisung. –

+0

Bitte senden Sie Ihre INSERT-Abfrage –

+0

Was ist der Datentyp Ihrer Spalten-E-Mail? –

Antwort

0

Vielen Dank für Ihre Antworten hier veröffentlichen. Das Problem wurde bereits behoben. Ich habe herausgefunden, dass einige Einstellungen in meinem Server die Sonderzeichen einschränken.

Entschuldigung.

Danke euch allen!

1

funktioniert gut für mich auf SQL Server 2008 mit:

erstellen/Insert:

CREATE TABLE yourtable 
    ([OrderID] int, [Email] nvarchar(99)) 
; 

INSERT INTO yourtable 
    ([OrderID], [Email]) 
VALUES 
    (1, '#TestDistribution') 
; 

Select:

SELECT * FROM yourtable 

Ausgang:

OrderID Email 
1  #TestDistribution 
+0

Hi fehlt. Ich verwende SQL Server 2008. Ist dies die gleiche Version wie Ihre? –

+0

@ IanSiñel Ja, um genauer zu sein, ich habe es in SQL Server 2008 R2 10.50.4000.0 – Matt

1

you'vve zwei bekam 'ein Ende

versuchen

INSERT INTO orders(orderid,email) VALUES(1,'#TestDistribution') 
+0

getestet Ich bekomme immer noch die gleiche Ausgabe. Daten wurden nicht eingefügt. –

+0

Was passiert, wenn Sie die # entfernen? Ist das # definitiv das Problem? Sind das die einzigen Felder in deiner Tabelle? Müssen Felder mit Nicht-Null-Daten gefüllt werden? vielleicht zeigen Sie uns die CREATE TABLE für Ihre Tabelle – Cato

+0

Haben Sie bewiesen, dass die # ist das Problem, ist eine wichtige Frage - wenn es # ist, dass das Problem ist, würde dann ändern # zu X würde vermutlich den Fehler stoppen - das ist kein fix, es ist ein Experiment - hast du das probiert? – Cato

0

Stellen Sie sicher, dass Ihre Spaltentyp

varchar sein sollte
create table orders(orderid int(30),email varchar(30)); 
insert into orders value(1,'#TestDistribution'); 
select * from orders;