scrapy item是可以不包含mysql自生成字段的。用sql自带的时间创建,可以省很多事,在数据更新判断上也交由数据库自己来判断。


运行环境 Runtime environment

1
2
3
操作系统: Windos10  
navicat: 15.0.2
mysql: 5.7.31

背景

scrapy item是可以不包含mysql自生成字段的。

用sql自带的时间创建,可以省很多事,在数据更新判断上也交由数据库自己来判断。

采集数据的时候,设置创建时间和更新时间,可更方便的定位数据的生产信息。

需求描述

假设建表包括如下字段:

1
2
3
id:自增主键ID
create_time: 创建时间
update_time: 修改时间

需求:

如何创建table可以使得,

在插入记录时create_time、update_time默认为当前时间;

在修改记录时update_time自动更新为当前时间?

sql 建表法

sql建表语句:

1
2
3
4
5
6
CREATE TABLE `time_test` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='time_test';

navicat 设置法

选择对应数据表,右键菜单设计表:

找到相应字段,按照图设置即可

总结

烂笔头系列,是简单的操作,但是自己记一轮下来就是自己的东西了。