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

MySQLでのDEFAULTCURRENT_TIMESTAMPおよびONUPDATECURRENT_TIMESTAMPの実装


DEFAULTCURRENT_TIMESTAMPおよびONUPDATECURRENT_TIMESTAMPを使用すると、列にはデフォルト値の現在のタイムスタンプがあり、現在のタイムスタンプに自動的に更新されます。

例を見て、テーブルを作成しましょう-

mysql> create table DemoTable737 (
   StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   StudentName varchar(100),
   StudentAdmissiondate datetime
);
Query OK, 0 rows affected (0.68 sec)

以下は、MySQLのCURRENT_TIMESTAMPおよびONUPDATECURRENT_TIMESTAMPに対するクエリです-

mysql> alter table DemoTable737 modify column StudentAdmissiondate 
timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;
Query OK, 0 rows affected (2.20 sec)
Records: 0 Duplicates: 0 Warnings: 0

テーブルの説明をもう一度確認しましょう-

mysql> desc DemoTable737;

これにより、次の出力が生成されます-

+----------------------+--------------+------+-----+-------------------+-----------------------------+
| Field                | Type         | Null | Key | Default           | Extra                       |
+----------------------+--------------+------+-----+-------------------+-----------------------------+
| StudentId            | int(11)      | NO   | PRI | NULL              | auto_increment              |
| StudentName          | varchar(100) | YES  |     | NULL              |                             |
| StudentAdmissiondate | timestamp    | YES  |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
+----------------------+--------------+------+-----+-------------------+-----------------------------+
3 rows in set (0.01 sec)

  1. MySQLの論理AND演算子を使用したUPDATE

    このために、WHERE句でAND演算子を使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1616     -> (     -> StudentId int,     -> StudentName varchar(20),     -> StudentMarks int     -> ); Query OK, 0 rows affected (0.44 sec) 挿入コマンド-を使用して、テーブルにいく

  2. 有効なMySQLクエリを記述し、カスタム変数で更新するにはどうすればよいですか?

    まずテーブルを作成しましょう- mysql> create table DemoTable2027    -> (    -> UserId int    -> ); Query OK, 0 rows affected (0.65 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable2027 values(10); Query OK, 1 row affected (0.18 sec) mysql> insert