亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

SQL 90 天后替換表中的值

SQL 90 天后替換表中的值

PHP
大話西游666 2023-10-15 14:58:12
因此,為了使我的項目 GDPR 友好,我必須在 90 天后刪除所有客戶數據。這是sales表格的樣子(輸入只是示例),使用 phpMyAdmin:| ID | CUSTOMER  | EMAIL               | PRODUCT | DATE                | |  1 | Ken James | [email protected] | 4816419 | 2019-12-25 10:26:19 ||  2 | Amy Wen   | [email protected]  | 6662341 | 2019-11-23 10:26:19 ||  3 | Chris Pet | [email protected] | 4816419 | 2019-05-05 10:26:19 |如果90 天之前,我是否可以自動替換CUSTOMERand ?EMAILXXXXXXDATE
查看完整描述

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 和其他隱私法的要求。


查看完整回答
反對 回復 2023-10-15
?
慕蓋茨4494581

TA貢獻1850條經驗 獲得超11個贊

您可以執行以下操作:


UPDATE *table_name*

SET CUSTUMER = 'xxxxxxx', EMAIL = 'xxxxxxx'

WHERE CURRENT_DATE() - DATE > 90; 

CURRENT_DATE() 返回當前日期的日期(您也可以使用 GETDATE() 代替 CURRENT_DATE())


查看完整回答
反對 回復 2023-10-15
?
小怪獸愛吃肉

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);



查看完整回答
反對 回復 2023-10-15
  • 3 回答
  • 0 關注
  • 277 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號