SQL插入在DGlux应用程序中不起作用

SQL插入在DGlux应用程序中不起作用,sql,Sql,我正在做一个非常简单的SQL插入,它工作得很好,直到我添加了一个UID列,但现在它无法工作。一个SQL语法检查器说这段代码不好,但我看不出来。什么;很明显我错过了什么?我检查了拼写、列名和数据库名是否匹配 INSERT INTO virtualTree (PATH, NPATH, PUID, NAME, LEVEL, INDEX, UID) VALUES( '/data/Mitsubishi/Sys Info', '/downstream/dgapi/DSA_Dev/config/sysInfo

我正在做一个非常简单的SQL插入,它工作得很好,直到我添加了一个UID列,但现在它无法工作。一个SQL语法检查器说这段代码不好,但我看不出来。什么;很明显我错过了什么?我检查了拼写、列名和数据库名是否匹配

INSERT INTO
virtualTree (PATH, NPATH, PUID, NAME, LEVEL, INDEX, UID)
VALUES(
'/data/Mitsubishi/Sys Info',
'/downstream/dgapi/DSA_Dev/config/sysInfo',
'',
'Sys Info',
'1',
'1',
'1532750575860'
);

谢谢

您没有指定要使用的数据库

此外,说你收到了一条信息“这段代码很糟糕”是毫无用处的。电脑不会写诗,你也不应该。可能有一条非常具体的错误消息,以及错误代码。例如,Oracle可能会告诉您
ORA-00904::无效标识符
,这比“此代码不好”更清楚。我建议你更具体一点

下面的示例显示了当您尝试使用“无效”列名(因为它们可能是保留字)创建表时发生的情况。它基于Oracle。我删除了“有效”列名以使其更简单

SQL> create table virtualtree
  2    (level varchar2(20),
  3     index varchar2(20),
  4     uid   varchar2(20));
  (level varchar2(20),
   *
ERROR at line 2:
ORA-00904: : invalid identifier


SQL> create table virtualtree
  2    (c_level varchar2(20),
  3     index varchar2(20),
  4     uid   varchar2(20));
   index varchar2(20),
   *
ERROR at line 3:
ORA-00904: : invalid identifier


SQL> create table virtualtree
  2    (c_level varchar2(20),
  3     c_index varchar2(20),
  4     uid   varchar2(20));
   uid   varchar2(20))
   *
ERROR at line 4:
ORA-00904: : invalid identifier


SQL> create table virtualtree
  2    (c_level varchar2(20),
  3     c_index varchar2(20),
  4     c_uid   varchar2(20));

Table created.

SQL>
看到了吗?我无法创建名称为
LEVEL
INDEX
UID
的表-我不得不以某种方式修改它们;我选择添加
C
前缀

我建议你也试试。如果您所说的是真的,那么您的数据库会抱怨
UID
列名


如果没有帮助,请回到开头-发布实际的错误代码和消息,以及您使用的数据库。

我不确定数据库是什么,所以我没有指定。我在一个名为DGlux的软件套件中工作,它为您提供了执行代码并返回错误消息的小动作块。在我使用的sql块中有一个错误消息块,但它没有给我一个错误,所以我无法跟踪它,这是我的一个挫折。我已经准备好创建一个virtualTree表,它使用现有查询减去UID列向表中添加行。所以我想可能是我遗漏了一些语法问题。我认为LEVEL和INDEX是保留字,正如你所说的,这很奇怪,因为在我添加UID列之前更新查询正在使用它们。不知道,我星期一再测试。谢谢你的来信,尽管我缺乏细节。不客气。我对DGlux一无所知。不过,有点奇怪的是,您不知道使用哪个数据库。在不知道要遵循哪种语法的情况下,如何编写代码?虽然SQL很相似,但它们并不完全相同,所以在MS SQL Server中工作的东西不一定在Oracle中工作。您使用的列名也是如此——显然,您连接到的数据库接受级别和索引作为列名,但不接受UID。为了你自己,如果你能找出它到底是哪一个数据库,那会有帮助的。我同意。谢谢我的老板告诉我错误信息在这个程序中的实际位置。哈看起来INT类型无法处理输入的长度。转换“'1532968734482'(虚拟树:UID INT)”时发生数据转换错误;SQL语句:插入到virtualTree(路径、NPATH、PUID、名称、级别、IN。。。