我想使用列顺序而不是名称
插入表中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');
有什么想法我怎么处理这个
谢谢
答案 0 :(得分:2)
您不能在insert语句中使用列的序号。但是,您可以使用列名完成您要执行的操作(将值插入表中的特定列)。
假设你的桌子有五列;我打算称他们为“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");
但是这里的弱点是,如果随后将其他列添加到表的模式中,则insert语句将开始失败。
答案 1 :(得分:1)
您需要将列名称放在1,2,5的位置。您不能使用列号。
insert into tableName(1,2,5) values("val1","val2","val3");