-3

我想使用列顺序而不是名称插入表中

insert into tableName(1,2,5) values('val1','val2','val3');

我不想用

insert into tableName values('val1','val2','val3');

因为该表不只包含 3 列

我该怎么做

因为列名是加密的所以我不能依赖这个

insert into  tableX("cCGSvKJVQXnt8A==","aDOlOQrPfg==","qsdcx112")
values('val1','val2','val3');

有什么想法我该如何处理

谢谢

4

2 回答 2

2

您不能在插入语句中使用列的序号。但是,您可以改用列名来完成您想要做的事情(将值插入到表中的特定列中)。

假设您的表格有五列;我将称它们为“Alpha”、“Bravo”、“Charlie”、“Delta”和“Echo”,因为您没有为我们提供表的架构,但将这些名称替换为实际上在您的表中的列。我猜你的第三和第四列(我的“查理”和“三角洲”)是可以为空的。然后,您可以在表中插入一个元组/行,并使用如下语法填充其他三列:

INSERT INTO TableName(Alpha, Bravo, Echo) VALUES ("val1", "val2", "val3");

如果根据您上面的评论,您的列名是不可打印的字符(这是一个可怕的想法),您可以将 NULL 显式插入到缺少的列中:

INSERT INTO TableName VALUES ("val1", "val2", NULL, NULL, "val3");

但这里的弱点是,如果随后将其他列添加到表的架构中,则插入语句将开始失败。

于 2013-08-23T15:45:50.790 回答
1

您需要将列名放在您拥有 1、2、5 的位置。您不能使用列号。

insert into tableName(1,2,5) values("val1","val2","val3");
于 2013-08-23T15:37:09.497 回答