MySQLの既存の列からONUPDATECURRENT_TIMESTAMPを削除するにはどうすればよいですか?
ON UPDATE CURRENT_TIMESTAMPは、明示的なタイムスタンプなしで更新すると、現在のタイムスタンプ値が更新されることを定義します。
ALTERコマンドを使用して、列からONUPDATECURRENT_TIMESTAMPを削除できます。
構文は次のとおりです
ALTER TABLE yourTableName CHANGE yourTimeStampColumnName yourTimeStampColumnName timestamp NOT NULL default CURRENT_TIMESTAMP;
上記の構文を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです
mysql> create table removeOnUpdateCurrentTimeStampDemo - > ( - > Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, - > Name varchar(20), - > UserUpdateTimestamp timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP - > ); Query OK, 0 rows affected (0.54 sec)
DESCコマンドを使用してテーブルの説明を確認してください。
クエリは次のとおりです
mysql> desc removeOnUpdateCurrentTimeStampDemo;
以下は出力です
+---------------------+-------------+------+-----+-------------------+-----------------------------+ | Field | Type | Null | Key | Default | Extra | +---------------------+-------------+------+-----+-------------------+-----------------------------+ | Id | int(11) | NO | PRI | NULL | auto_increment | | Name | varchar(20) | YES | | NULL | | | UserUpdateTimestamp | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP | +---------------------+-------------+------+-----+-------------------+-----------------------------+ 3 rows in set (0.04 sec)
次に、更新CURRENT_TIMESTAMPにあるExtraフィールドを確認します。 ONUPDATECURRENT_TIMESTAMPを削除するクエリは次のとおりです。
mysql> alter table removeOnUpdateCurrentTimeStampDemo - > change UserUpdateTimestamp UserUpdateTimestamp timestamp NOT NULL default CURRENT_TIMESTAMP; Query OK, 0 rows affected (0.16 sec) Records: 0 Duplicates: 0 Warnings: 0
テーブルの説明をもう一度確認してください。
クエリは次のとおりです
mysql> desc removeOnUpdateCurrentTimeStampDemo;
以下は出力です
+---------------------+-------------+------+-----+-------------------+----------------+ | Field | Type | Null | Key | Default | Extra | +---------------------+-------------+------+-----+-------------------+----------------+ | Id | int(11) | NO | PRI | NULL | auto_increment | | Name | varchar(20) | YES | | NULL | | | UserUpdateTimestamp | timestamp | NO | | CURRENT_TIMESTAMP | | +---------------------+-------------+------+-----+-------------------+----------------+ 3 rows in set (0.00 sec)
デフォルトのCURRENT_TIMESTAMPを削除する場合、クエリは次のようになります
mysql> alter table removeOnUpdateCurrentTimeStampDemo - > change UserUpdateTimestamp UserUpdateTimestamp timestamp NOT NULL; Query OK, 0 rows affected (0.12 sec) Records: 0 Duplicates: 0 Warnings: 0
テーブルの説明をもう一度確認してください。
クエリは次のとおりです
mysql> desc removeOnUpdateCurrentTimeStampDemo;
以下は出力です
+---------------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +---------------------+-------------+------+-----+---------+----------------+ | Id | int(11) | NO | PRI | NULL | auto_increment | | Name | varchar(20) | YES | | NULL | | | UserUpdateTimestamp | timestamp | NO | | NULL | | +---------------------+-------------+------+-----+---------+----------------+ 3 rows in set (0.00 sec)
上記のサンプル出力を見てください。ONUPDATECURRENTTIMESTAMPを削除しました。
-
MySQLの日付型列を更新するにはどうすればよいですか?
まずテーブルを作成しましょう- mysql> create table DemoTable1451 -> ( -> JoiningDate date -> ); Query OK, 0 rows affected (0.52 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1451 values('2019-07-21'); Query OK, 1 row affected (0.07
-
MySQLで列名として「from」を作成するにはどうすればよいですか?
「from」は予約語であるため、バッククォート記号を使用して列名と見なします。ここで、予約語をバックティックで囲んだテーブルを作成します- mysql> create table DemoTable1810 ( `from` varchar(20) ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1810 v