如果列名是日期,则复制列值

时间:2016-11-11 07:05:41

标签: java sqlite copy

我正在尝试将所有值从一个表复制到另一个表。我正在使用SQlite。我有多个列,其中包含以下列名称 - 名称,帐户,电子邮件,12/30 / 2016,01 / 13/2017 ......所有列都被命名为日期,前3列除外。我想用这句话来复制:

    PreparedStatement prepCopy = con
                        .prepareStatement("INSERT INTO table1(12/30/2016) SELECT 12/30/2016 FROM table2");
    prepCopy.execute();

但是我收到了这个错误:

 near "12": syntax error: 

我尝试过为名称,帐户和电子邮件等其他列执行此操作,但它确实有效。此错误仅发生在日期列名称上。我也试过把''在日期之前和之后,然后它用日期本身填充所有行。我想我错过了一个小细节,但我似乎无法弄明白。

任何建议表示赞赏。 :)

1 个答案:

答案 0 :(得分:0)

围绕日期 - 在他们是列名的情况下 - 使用双引号或反引号。

INSERT INTO table1("12/30/2016") SELECT "12/30/2016" FROM table2

另请参阅:http://www.sqlite.org/lang_keywords.html