MySQLの他の列に値を挿入するときに、現在の日付と時刻を自動的に挿入するにはどうすればよいですか?
MySQLでは、列をDEFAULT CURRENT_TIMESTAMPとして宣言することにより、別の列に値を挿入するときに、現在の日付と時刻を列に自動的に挿入できます。
mysql> Create table testing -> ( -> StudentName varchar(20) NOT NULL, -> RegDate TIMESTAMP DEFAULT CURRENT_TIMESTAMP -> ); Query OK, 0 rows affected (0.49 sec)
上記のクエリは、StudentNameという名前の列と、DEFAULTCURRENT_TIMESTAMPとして宣言された「RegDate」という名前の他の列を持つテーブル「testing」を作成します。これで、StudentName列に値、つまり名前を挿入すると、現在の日付と時刻がもう一方の列に自動的に挿入されます。
mysql> Insert into testing(StudentName) values ('Ram'); Query OK, 1 row affected (0.14 sec) mysql> Insert into testing(StudentName) values ('Shyam'); Query OK, 1 row affected (0.06 sec) mysql> Select * from testing; +-------------+---------------------+ | StudentName | RegDate | +-------------+---------------------+ | Ram | 2017-10-28 21:24:24 | | Shyam | 2017-10-28 21:24:30 | +-------------+---------------------+ 2 rows in set (0.02 sec) mysql> Insert into testing(StudentName) values ('Mohan'); Query OK, 1 row affected (0.06 sec) mysql> Select * from testing; +-------------+---------------------+ | StudentName | RegDate | +-------------+---------------------+ | Ram | 2017-10-28 21:24:24 | | Shyam | 2017-10-28 21:24:30 | | Mohan | 2017-10-28 21:24:47 | +-------------+---------------------+ 3 rows in set (0.00 sec)
上記のクエリから、StudentNameに値を挿入すると、日付と時刻も自動的に挿入されていることがわかります。
上記の概念の助けを借りて、他の列の値が挿入された日時を正確に知ることもできます。
-
MySQLで現在の日付と時刻をタイムスタンプに設定する
まず、テーブルを作成しましょう。列の1つがTIMESTAMP-として設定されています mysql> create table DemoTable648( UserId int NOT NULL AUTO_INCREMENT,UserLoginTime TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,PRIMARYKEY(UserId) ); Query OK, 0 rows affected (0.66 sec) 挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。ここでは、NO
-
MySQLエントリが存在するかどうかを確認し、存在する場合は、他の列を上書きする方法を教えてください。
これには、INSERT ON DUPLICATEKEYUPDATEコマンドを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1891 ( FirstName varchar(20), UNIQUE KEY(FirstName) ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTab