我不確定這是針對您的情況的最佳方法,但使用觸發器可以提供解決方案。
我用下面的數據來自一個名爲data.csv
data.csv
1,datetime(),Row1
2,datetime(),Row2
3,datetime(),Row3
4,datetime(),Row4
5,datetime(),Row5
6,datetime(),Row6
7,datetime(),Row7
8,datetime(),Row8
9,datetime(),Row9
文件...就跑使用 「.read demo.sql」 下面的腳本,下降/重新創建模式對象,設置數據文件分隔符,運行導入,然後從「演示」表中選擇。
demo.sql
drop table demo;
create table demo (
id integer,
dt text,
tag text
);
create trigger my_trigger after insert on demo
begin
update demo set dt = datetime() where dt = 'datetime()';
end;
delete from demo;
.sep ","
.imp data.csv demo
select * from demo;
和生產在演示表,結果如下導入操作後。
$ sqlite3 my.db
SQLite version 3.8.0.2 2013-09-03 17:11:13
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .read demo.sql
Error: near line 1: no such table: demo
1,2013-10-09 23:47:14,Row1
2,2013-10-09 23:47:14,Row2
3,2013-10-09 23:47:14,Row3
4,2013-10-09 23:47:14,Row4
5,2013-10-09 23:47:14,Row5
6,2013-10-09 23:47:14,Row6
7,2013-10-09 23:47:14,Row7
8,2013-10-09 23:47:14,Row8
9,2013-10-09 23:47:14,Row9
注:我在WinXP上運行最新的SQLite3二進制文件。
謝謝你的建議。 – adayzdone