返回的項目我添加了一個項目有以下SQL語句:MySQL的失敗與AES_ENCRYPT函數
INSERT INTO `db`.`users` (`name`, `pass`) VALUES ('Terry', AES_ENCRYPT('32145', '32145'))
然後將新行添加到表中,可以肯定的。
當我試圖用'name'和'pass'找到這個項目時,返回了一個空集。查詢語句如下:
SELECT * FROM `users` WHERE `name` ='Terry' AND `pass`= AES_ENCRYPT('32145', '32145')
函數AES_ENCRYPT有什麼問題嗎? :-(
更新在2014年4月27日:
類型「通行證」被定義爲varchar(255)
,其原來是一個災難的:-(
後我修改其類型爲varbinary(255)
,一切工作。
原來的問題已經解決,但是,爲什麼鍵入varchar(255)
無法在這種情況呢?
我將'pass'的類型定義爲'varchar(255)',導致失敗。在我將其類型修改爲'varbinary(255)'後,一切工作正常。插入和查詢都是正確的。 –