MySQLのCRC32()関数は符号なしのBIGINTを返しますが、PHPは16進数値を返します。 PHPでPHPのcrc32ハッシュをMySQLに相当するものに変換するには?
:MySQLでは
hash('crc32','hello world') == 7813f744
:
SELECT CRC32('hello world') == 222957957
CRC32値をCHAR(8)列に格納されています。
PHPで生成されたハッシュを、MySQLが生成するのと同じ値にする方法がわかりませんのみのです。明らかに動作していないよう:
SELECT HEX(CRC32('hello world')) == D4A1185
SELECT CONV('7813f744',16,10) == 2014574404
任意のアイデア?
は、私はあなたが 'ハッシュ( 'crc32b'、...)'を使用する必要があるかもしれないと思います。最初のコメントをここで確認してください:http://www.php.net/manual/en/function.hash.php#107920 – Aziz
私が言ったように、私はPHPで何もすることなくSQLでこれをしたいと思います。私の懸念は、既存のデータを変換することです。 – DanMan
私は実際にあなたの質問を誤解していると思います。私はあなたがMySQLとPHPから異なるハッシュを得ていると思った。私はいくつかのものを見てみましょう... – Aziz