gpt4 book ai didi

sql - 从 .import 插入 datetime()

转载 作者:行者123 更新时间:2023-12-03 19:48:38 25 4
gpt4 key购买 nike

如何将 datetime() 插入使用 .import 导入的列中?如果我用 datetime() 填充 csv 的字段,它将作为字符串“datetime()”填充到表中,而不是导入文件的时间。我在表格中填充:

insert into foo(date_entered,cName, cAddress) select * from tempTable;

我是否必须使用占位符填充 csv 文件中 date_entered 字段的值,然后更新表,还是可以直接导入 datetime() 函数?

最佳答案

我不确定这是针对您的情况处理它的最佳方法,但是使用触发器可以提供解决方案。

我使用了名为 data.csv 的文件中的以下数据

数据.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”运行以下脚本,该脚本删除/重新创建模式对象,设置数据文件分隔符,运行导入,然后从“演示”表中选择。

演示.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 二进制文件。

关于sql - 从 .import 插入 datetime(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19282305/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com