0

我在 oledbcommand 中有这个 sql 命令:

insert into tweets(iso_language_code,created_at,id_str,textbody,truncated,in_reply_to_status_id_str,in_reply_to_user_id_str,in_reply_to_screen_name,user,id_str1,username,screen_name,location,description,url,description1,followers_count,friends_count,listed_count,created_at1,favourites_count,utc_offset,time_zone,geo_enabled,verified,statuses_count,lang) values ('en','Tue Nov 05 234107 +0000 2013','397871229903716353','TrophyManager','false','null','null','null','','1401457136','DE-football','football_bot_DE','','Football news in German \/ Fu\u00dfball Nachrichten auf Deutsch\r\n#football #Fussball #German #Germany #Deutsch #Deutschland #Bundesliga #Followback #TeamFollowBack','urlhttp\/\/t.co\/vwBeatWiSO','urls','2948','2866','2','Sat May 04 051820 +0000 2013','0','3600','Berlin','false','false','13074','en')

我收到语法错误,但是当我将其复制以访问并运行时,它会运行。

4

3 回答 3

2

它应该是:

INSERT INTO Table_Name (column1,colum2,etc) VALUES (value1,value2,etc.);

所以你忘记了INTO

于 2013-11-12T15:37:26.020 回答
2

如果您仍然收到错误INSERT INTO,则问题可能是由于保留字作为字段名称:user; 和说明。

将这些名称括在方括号中以避免混淆数据库引擎。

in_reply_to_screen_name,[user],id_str1

保留字令人沮丧。它们可能不会总是给在 Access 应用程序会话中运行的查询带来麻烦。但是使用 OleDb 从外部 Access 运行的查询似乎对保留字的容忍度较低。

于 2013-11-12T15:50:52.300 回答
0

以下是我认为您的 SQL 语句有问题的地方:

  1. 您需要使用INSERT INTO tweets而不是insert tweets
  2. 我猜你真的不想要一个'null'字符串,而是希望该字段为Null。不要使用'.
  3. 您正在添加一个'false'字符串,我猜您真的希望该字段为False。所以你不会把'它放在周围。
  4. 您还可以将一些数字添加为字符串而不是数字。如果它们真的应该是数字,请不要将它们包装在'.
  5. 您的日期格式似乎无效。

因此,通过上述所有更改,您的查询可能如下所示:

INSERT INTO tweets
(
  iso_language_code, created_at, id_str, textbody, 
  truncated, in_reply_to_status_id_str, in_reply_to_user_id_str, 
  in_reply_to_screen_name, [user], id_str1, username, screen_name,
  location, [description], url, description1, followers_count, friends_count,
  listed_count, created_at1, favourites_count, utc_offset, time_zone,
  geo_enabled, verified, statuses_count, lang
) 
VALUES (
  'en', CDATE('2013-11-05 23:41:07'), 397871229903716353,
  'TrophyManager', False, Null, Null, Null, '', 1401457136, 'DE-football',
  'football_bot_DE', '', 
  'Football news in German \/ Fu\u00dfball Nachrichten auf Deutsch\r\n#football #Fussball #German #Germany #Deutsch #Deutschland #Bundesliga #Followback #TeamFollowBack',
  'urlhttp\/\/t.co\/vwBeatWiSO', 'urls', 2948, 2866, 2,
  'Sat May 04 051820 +0000 2013', 0, 3600, 'Berlin', False, False,
  13074, 'en'
)
于 2013-11-12T15:46:31.877 回答