首頁  >  問答  >  主體

mysql - 如何通过一个简单的sql语句实现十万条数据更新?

商城系统 导入用户数据(user表 id username password pay_password) 大约10万条,由于密码是明文的,需要使用我们商城自己的加密方式(php方法加密),加密之后再更新 用户表数据。

笨方法 就是把十万条数据读出来,然后循环更新user表。

求高手指点一下,还有没有别的方式实现?

阿神阿神2766 天前873

全部回覆(5)我來回復

  • PHP中文网

    PHP中文网2017-04-17 14:40:38

    不太懂 sql 程式設計,你那個加密演算法如果可以寫成 sql 函數的話直接執行 update 就行.

    update user set password = encryption(password)

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-17 14:40:38

    不清楚此處密碼的具體用處,也不清楚題主對於密碼明文加密演算法是否有嚴格要求。
    如果沒有要求,而且密碼只用做比對的話,mysql裡面有個方便的password函數,用來把明文密碼加密成密文。用update語句對所有password欄位執行這個函數,可能是簡單的方式。

    回覆
    0
  • 巴扎黑

    巴扎黑2017-04-17 14:40:38

    新建一張表然後inserAll寫入,再然後用新表取代舊表。

    回覆
    0
  • 怪我咯

    怪我咯2017-04-17 14:40:38

    我建議舊表加一個新的字段存儲加密的密碼,測試成功後刪除明文密碼字段,反正用到明文密碼字段的地方肯帝代碼要重寫,新表的話,如果是自增主鍵,有可能會不一樣吧.

    回覆
    0
  • PHPz

    PHPz2017-04-17 14:40:38

    一次性的東西,怎麼簡單怎麼來

    回覆
    0
  • 取消回覆