MySQL更新内部连接与AES_解密

MySQL更新内部连接与AES_解密,mysql,sql,join,encryption,Mysql,Sql,Join,Encryption,问题:需要使用表2中的新单位更新表1 问题1:我已经运行了这个SQL,它似乎没有更新表1中的单元字段。我的语法不正确吗 问题2:有没有更好的方法来比较用户名,因为它们是加密的(是的,它们必须在数据库中保持加密) 提前谢谢。我觉得语法正确。如果您使用相同的联接执行SELECT,会得到任何结果吗?如果用户名都使用相同的密钥加密,您可以直接比较用户名,不需要解密。我会在有时间时尝试选择。根据我使用哈希表的经验,加密的输出可以得到相同的结果。这适用于AES吗?加密不是散列。加密必须是1对1。否则,您如何

问题:需要使用
表2
中的新单位更新
表1

问题1:我已经运行了这个SQL,它似乎没有更新
表1
中的
单元
字段。我的语法不正确吗

问题2:有没有更好的方法来比较用户名,因为它们是加密的(是的,它们必须在数据库中保持加密)


提前谢谢。

我觉得语法正确。如果您使用相同的联接执行
SELECT
,会得到任何结果吗?如果用户名都使用相同的密钥加密,您可以直接比较用户名,不需要解密。我会在有时间时尝试选择。根据我使用哈希表的经验,加密的输出可以得到相同的结果。这适用于AES吗?加密不是散列。加密必须是1对1。否则,您如何解密它并确保获得原始文本?选择匹配的电子邮件将产生6个结果。
UPDATE table_one a 
INNER JOIN table2 b on AES_DECRYPT(a.username, '$key') = AES_DECRYPT(b.username, '$key')
SET a.unit = b.unit, a.unitb = b.unitb;