3 回答

TA貢獻1877條經驗 獲得超1個贊
對于評論來說這可能太長了。
根據我對 GDPR 的了解,90 天似乎有點激進。
也就是說,你所做的事情是相當危險的,至少從分析和財務的角度來看是這樣。了解客戶在一段時間內進行了多次購買可能非常重要。GDPR 非常明確地指出,您可以保留有關活躍(和最近以前的)客戶的歷史信息。(當然,我不是律師,即使我是,您也應該對網絡上的免費咨詢感到非常懷疑。)
也就是說,您的sales桌子應該設計為符合隱私要求。如何?將客戶信息存儲在不同的表中。
因此,該sales表應如下所示:
| ID | CUSTOMERID | PRODUCT | DATE |
| 1 | 1 | 4816419 | 2019-12-25 10:26:19 |
| 2 | 2 | 6662341 | 2019-11-23 10:26:19 |
| 3 | 3 | 4816419 | 2019-05-05 10:26:19 |
從隱私角度來看,這張表完全沒問題,假設該表CUSTOMERID嚴格在內部使用。
然后你應該有一個CUSTOMERS表:
| CUSTOMERID | CUSTOMER | EMAIL | LASTSALEDATE |
| 1 | Ken James | [email protected] | 2019-12-25 10:26:19 |
| 2 | Amy Wen | [email protected] | 2019-11-23 10:26:19 |
| 3 | Chris Pet | [email protected] | 2019-05-05 10:26:19 |
您可以在該表中將姓名、地址、電子郵件、電話號碼等替換為NULL值(或者'XXXX'如果您愿意)。
這種結構允許您維護重復購買和購買日期等的內部歷史記錄 - 即使數據已匿名。通過將所有 PII 放在一處,可以更輕松地維護、審核并確保其滿足 GDPR 和其他隱私法的要求。

TA貢獻1850條經驗 獲得超11個贊
您可以執行以下操作:
UPDATE *table_name*
SET CUSTUMER = 'xxxxxxx', EMAIL = 'xxxxxxx'
WHERE CURRENT_DATE() - DATE > 90;
CURRENT_DATE() 返回當前日期的日期(您也可以使用 GETDATE() 代替 CURRENT_DATE())

TA貢獻1852條經驗 獲得超1個贊
您可以使用內置的調度程序。
但必須開啟
CREATE EVENT event1
ON SCHEDULE EVERY '1' DAY
STARTS '2020-08-17 00:00:01' -- should be in the future
DO
? ? UPDATE sales??
? ? ? ? SET EMAIL = 'xxxxxxxx', CUSTOMER = 'xxxxxxxx'?
? ? WHERE EMAIL <> 'xxxxxxxx' AND? CUSTOMER <> 'xxxxxxxx' AND `DATE` < DATE_ADD(NOW(),? INTERVAL -90 DAY);
- 3 回答
- 0 關注
- 277 瀏覽
添加回答
舉報