INSERT INTO-Anweisung enthält folgenden unbekannten Feldnamen
Ich bin mit Coldfusion 9,0,0,251028 auf Windows 7 64-bit, mit einer Microsoft Access 97-Datenbank.
Wenn ich diese Abfrage ausführen:
<cfquery name="put_in_info" datasource="#db#">
insert into news
(is_current, display, mes_dat,mes_tim,mes_sub,mes_text,scrollshow,exp_dat)
values
(1,1, #createodbcdate(now())#, #createodbctime(now())#, '#subject#', '#message#',1, #session.expdate#)
</cfquery>
Bekomme ich diesen Fehler:
Error Executing Database Query.
[Macromedia][SequeLink JDBC Driver][ODBC Socket][Microsoft][ODBC Microsoft Access Driver] The INSERT INTO statement contains the following unknown field name: 'exp_dat'. Make sure you have typed the name correctly, and try the operation again. The error occurred in H:\Inetpub\pvalert.com\listserver\admin\templates\post_breaking.cfm: line 26
Called from H:\Inetpub\pvalert.com\listserver\admin\new_process.cfm: line 54
Called from H:\Inetpub\pvalert.com\listserver\admin\templates\post_breaking.cfm: line 26
Called from H:\Inetpub\pvalert.com\listserver\admin\new_process.cfm: line 54
24 : (is_current, display, mes_dat,mes_tim,mes_sub,mes_text,scrollshow,exp_dat)
25 : values
26 : (1,1, #createodbcdate(now())#, #createodbctime(now())#, '#subject#', '#message#',1, #session.expdate#)
27 : </cfquery>
28 :
VENDORERRORCODE
-1507
SQLSTATE
HYS22
SQL
insert into news (is_current, display, mes_dat,mes_tim,mes_sub,mes_text,scrollshow,exp_dat) values (1,1, {d '2011-04-11'}, {t '17:49:09'}, 'Test message - please ignore', 'This is a test message, please ignore. ',1, {ts '2011-05-15 00:00:00'})
DATASOURCE
rpv_list
Exp_dat ist ein Ablauf-Datum-Spalte in einer Tabelle, die ich aktualisieren müssen.
Ich habe versucht, das entfernen der "session." auf der expdate variable, und dass sich nichts Tat. Ebenso für das entfernen der Leerzeichen in Zeile 24 der "exp_dat".
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Fehlermeldung gegeben, nicht beschweren über den Wert eingefügt. Es besagt, dass das Feld "exp_dat" existiert nicht in der Tabelle/view "news".
Das erste, was zu tun ist, um zu überprüfen, ob es überhaupt ein Feld namens "exp_dat". Wenn Sie keinen direkten Zugriff auf die Datenbank, nur die Feuerwehr eine Abfrage innerhalb der ColdFusion-und dump das Ergebnis der Abfrage.
Vielleicht jemand alias-Feld, oder nicht auch ein vorhandenes Feld in einer Ansicht, oder es heißt "exp_dattim", oder ...
Habe ich diese Fragen mehrfach mit MS Access. Ich kenne die Spalte name richtig geschrieben ist und dass die Spalte existiert.
E. G., ich kann 'SELECT' auf die Spalte kein problem, aber wenn ich versuche, ein einfaches SQL INSERT, bekomme ich diesen Fehler: "... Unknown field name"
Ich tippte nichts, nur kopieren und einfügen, so gibt es keine chance auf einen Tippfehler. Zugang buchstäblich nicht erkennen, den Namen einer Spalte in der SELECT-Anweisung und erkennt NICHT, dass die gleiche Spalte name beim Versuch, einen EINFÜGEN.
Scheint es ein bug in MS Access 2010.
Versuchen Sie, wickeln Sie jeden Wert, den Sie einfügen in Ihre insert-Anweisung mit Anführungszeichen.ie
'#variable#', '#another_var#'
-- und so weiter. Ich glaube, ich hatte das gleiche problem, aber tun das es behoben.Gegeben eine INSERT-Abfrage, wie
Versuchen mit Hilfe von eckigen Klammern - das ist []- um-die-Spalte-Namen, etwa so:
Dieser arbeitete für mich in der Access-SQL-GUI-Interpreter, aber vielleicht nicht lösen, die OP-spezifische situation (Coldfusion, etc.).