2010-09-24 24 views
2

我正在设置邮件服务器,而我是mysql的密码表。目前它使用ENCRYPT()函数进行保护,但是我有一个很大的CSV,我想导入其中密码都是纯文本的。有没有什么办法可以将它们作为纯文本导入,然后运行查询以在整列上运行ENCRYPT()并更新所有内容?如何加密整个列

回答

3

你可以用一个简单的更新做到这一点:

UPDATE your_table SET password_col = ENCRYPT(password_col,'some salt') 

或者,如果你正在使用LOAD DATA INFILE来填充表,然后你可以加密密码:

LOAD DATA INFILE '/tmp/data.csv' INTO TABLE your_table 
(col1,...,@password,...,coln) 
set password_col = ENCRYPT(@password,'some salt') 
+0

感谢了一堆,那工作:) – Jonathan 2010-09-24 18:04:29