2016年4月14日,欧洲议会投票通过了商讨四年的《一般数据保护法案》(General Data Protection Regulation,GDPR),该法案将于2018年5月25日正式生效。GDPR的通过意味着欧盟对个人信息保护及其监管达到了前所未有的高度,堪称史上最严格的数据保护法案。 GDPR对于我国业务范围涉及欧盟成员国领土及其公民的企业进行合规运营、避免高昂处罚,以及对我国与数据相关的法学研究都具重要意义。
新法案由11章共99条组成,中文译本由中国政法大学互联网金融法律研究院(Internet financial law research institute of CUPL ,IFLRI)组织翻译。
智能移动设备、特别是手机,搭载了越来越多、越来越精确的传感器,利用这些传感器的数据,结合机器学习甚至深度学习的能力,可以识别出用户的行为,而用户的行为数据可以被用于像 UBI、反作弊解决方案、健身类 App 等很多领域,也可以作为 Real time customer engagement 的重要参考数据。
文章 Implementing a CNN for Human Activity Recognition in Tensorflow 介绍了在一个公开传感器数据集上面,使用 Tensorflow 实现一个 CNN 进行用户行为识别的方案,本文就是在阅读和测试这个方案过程中整理出来的。
UPDATE mytable
SET myfield = CASE id
WHEN 1 THEN \'value\'
WHEN 2 THEN \'value\'
WHEN 3 THEN \'value\'
END
WHERE id IN (1,2,3)
这里使用了case when 这个小技巧来实现批量更新。
举个例子:
UPDATE categories
SET display_order = CASE id
WHEN 1 THEN 3
WHEN 2 THEN 4
WHEN 3 THEN 5
END
WHERE id IN (1,2,3)
这句sql的意思是,更新display_order 字段,如果id=1 则display_order 的值为3,如果id=2 则 display_order 的值为4,如果id=3 则 display_order 的值为5。
即是将条件语句写在了一起。
这里的where部分不影响代码的执行,但是会提高sql执行的效率。确保sql语句仅执行需要修改的行数,这里只有3条数据进行更新,而where子句确保只有3行数据执行。
如果更新多个值的话,只需要稍加修改:
UPDATE categories
SET display_order = CASE id
WHEN 1 THEN 3
WHEN 2 THEN 4
WHEN 3 THEN 5
END,
title = CASE id
WHEN 1 THEN \'New Title 1\'
WHEN 2 THEN \'New Title 2\'
WHEN 3 THEN \'New Title 3\'
END
WHERE id IN (1,2,3)
到这里,已经完成一条mysql语句更新多条记录了。
但是要在业务中运用,需要结合服务端语言,这里以php为例,构造这条mysql语句: