sql >> データベース >  >> RDS >> Mysql

UPDATEmysqlopがcc-numberで機能しない

    クレジットカード番号は、数学的な意味での「番号」ではなく、たまたま数字の文字列です。 「このカード番号に1を加えたものは何ですか?」と尋ねる必要はありません。または「...2倍?」ですが、「このカード番号の最初の4桁は何ですか?」と尋ねることができます。または「最後の4つ...?」

    数字として扱うと、通常の数字よりもはるかに大きくなります。44443333322221111(Visaテストカード番号)は、「4兆444兆3,330億3億2,200万221千111」です。

    重要なのは、符号付き32ビット整数に格納できる最大数(SQLで「int」を指定したときに得られる数)は20億をわずかに超えるため、カード番号が適切に近づかないことです。データベースはエラーを出すか、適切な他の数値を保存します。あなたの場合は、可能な限り最大の数値を保存しているだけです。

    列を「bigint」(64ビット署名、最大値は約9兆)に変更できますが、PHPでは文字列として扱い、データベースではVarCharとして扱う方がよいでしょう。




    1. レシピデータベース、材料で検索

    2. PHPmySqlデータからJSONファイル

    3. ハイチャート-PHP、MYSQL、jQuery.getを使用してデータを解析する

    4. JSONを編集して、「辞書」ではなく配列を作成するのに役立ちます