MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

2月30日などの日付をMySQLの日付列に保存するにはどうすればよいですか?


2月30日などの日付をMySQLテーブルに保存する場合は、最初にALLOW_INVALID_DATESモードを有効に設定する必要があります。

たとえば、ALLOW_INVALID_DATESモードを有効にせずに、テーブルにそのような種類の日付を追加しようとすると、MySQLは次のようなエラーを出します-

mysql> Insert into date_testing(date) values('2017-02-30');
ERROR 1292 (22007): Incorrect date value: '2017-02-30' for column
'Date' at row1

次に、次のようにALLOW_INVALID_DATESモードを有効にする必要があります-

mysql> SET sql_mode = 'ALLOW_INVALID_DATES';
Query OK, 0 rows affected (0.00 sec)

mysql> Insert into date_testing(date) values('2017-02-30');
Query OK, 1 row affected (0.14 sec)

mysql> select * from date_testing;
+------------+
| Date |
+------------+
| 2017-02-30 |
+------------+
1 row in set (0.00 sec)

上記のMySQLクエリを使用すると、そのような種類の無効な日付を列に挿入できます。


  1. Javaを使用してDATEをMySQL列の値に挿入するにはどうすればよいですか?

    このために、JavaのPreparedStatementを使用できます。まず、列の1つがDATE型のArrivalDateであるテーブルを作成しましょう- mysql> create table DemoTable(    PassengerId int,    PassengerName varchar(40),    ArrivalDate date ); Query OK, 0 rows affected (0.82 sec) 日付を挿入するためのJAVAコードは次のとおりです- import java.sql.Conn

  2. MySQLシーケンスを作成する方法は?

    MySQLのシーケンスとは何ですか? MySQLでは、シーケンスとは、指定されている場合は1または0から昇順で生成される整数のリストを指します。多くのアプリケーションでは、特に識別のために一意の番号を生成するために使用されるシーケンスが必要です。 例 例としては、CRMの顧客ID、HRの従業員番号、サービス管理システムの機器番号などがあります。 MySQLでシーケンスを自動的に作成するには、列のAUTO_INCREMENT属性を設定する必要があります。これは通常、主キー列になります。 ルール AUTO_INCREMENT属性を使用するときは、次のルールに従う必要があります- すべての