検索

ホームページ  >  に質問  >  本文

如何防止 MySQL 中纯数字数据的 Insert?

比如我不希望 username 是纯数字的,如果程序 insert 的数据,username 是纯数字的,就返回 mysql 数据格式错误,有这种功能吗?

大家讲道理大家讲道理2874日前735

全員に返信(5)返信します

  • PHP中文网

    PHP中文网2017-04-17 14:49:14

    ストアド プロシージャまたはトリガーを通じて実装されますが、このロジックはコード レイヤによって最適に制御されます。

    返事
    0
  • 天蓬老师

    天蓬老师2017-04-17 14:49:14

    最初に結論からお話します。一般に、検証はプログラム内で記述され、データベースは一意性などの基本的な制約のみを実行します。

    本当にデータベースで実行したい場合は、通常トリガーを作成します。

    その後、追加制約チェックがあるようですが、たとえ mysql がこれをサポートしていても、ストレージ (すべてのエンジン) の前にチェックされません。

    http://stackoverflow.com/questions/16005283/is-it-possible-to-enforce-data-checking-in-mysql-using-正規表現

    返事
    0
  • PHPz

    PHPz2017-04-17 14:49:14

    プログラム ロジックの問題はデータベースに処理を任せるべきではなく、検証防御の最後の手段として使用する必要があります。

    返事
    0
  • 高洛峰

    高洛峰2017-04-17 14:49:14

    提出前または提出時に確認してください。

    返事
    0
  • 高洛峰

    高洛峰2017-04-17 14:49:14

    この種の基本的な検証はデータベースでも行われますが、これはデータベースへの負担を増やすだけではありませんか?誰もが負担を軽減しています

    返事
    0
  • キャンセル返事