如何正确使用Sybase LOAD TABLE?

How to use Sybase LOAD TABLE correctly?

我一直在使用 ISQL (SQLAnywhere 12) 使用 INPUT INTO 将数据从 CSV 导入现有的 table,但从未 运行 遇到问题。然而,今天我需要将数据导入到包含自动递增列的 table 中,并且认为我只需要将该列留空,所以我尝试使用仅包含 1 行数据的文件(为了安全起见) ).原来它在自动增量字段中导入了 0 而不是下一个整数值。

查看 Sybase documentation,似乎我应该改用 LOAD TABLE,但示例看起来有点复杂。

我的问题如下...

非常感谢。

  1. 是的。查看 LOAD TABLEonline documentation - 您可以使用 USING CLIENT FILE 子句。

  2. 您可以在 table 名称后的括号中指定列名,即 LOAD TABLE mytable (col1, col2, col3) USING CLIENT FILE 'mylocalfile.txt'。如果该列可为空,则此处未列出的任何列都将设置为 NULL,如果不是,则等效于空字符串 - 这就是您的自动增量列设置为 0 的原因。您可以使用 DEFAULTS ON 子句来获取什么你要

  3. 是,table 中的现有数据不受影响。