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