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

日付が正しくない場合、mysqlは空の日付を挿入します

    sql_modeで遊ぶことができます MySQLが無効な日付を処理する動作を変更します。

    MySQLマニュアル によると 、これは、間違った日付値を挿入した場合に発生します:

    したがって、ゼロ値が挿入され、実際にそれに関する警告が表示されます。 show warningsでそれを確認できます コマンド。

    insert into TableName (`date`) values ('2015-02-29');
    -- 1 row(s) affected
    show warnings
    -- Warning  1264    Out of range value for column 'date' at row 1
    

    必要に応じて、この動作を変更して無効な値を保存できます(MySQLマニュアル ):

    たとえば、次のように機能するはずです。

    set @@sql_mode='allow_invalid_dates';
    insert into TableName (`date`) values ('2015-02-29');
    -- 1 row(s) affected
    

    または、データの読み込み または挿入してエラーを報告します:

    例:

    set @@sql_mode='traditional';
    insert into TableName (`date`) values ('2015-02-29');
    Error Code: 1292. Incorrect date value: '2015-02-29' for column 'date' at row 1
    



    1. MysqlMySQLまたはPHP行を動的に2列に変換します

    2. OracleDatabaseの変更通知

    3. 行のMySQLフィールドをPHP変数と配列に抽出します

    4. VBNetを使用してSQLServerにデータを挿入するにはどうすればよいですか