teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

見直し

2021/01/29 11:36

投稿

退会済みユーザー
answer CHANGED
@@ -4,7 +4,8 @@
4
4
  > UPDATE t1 SET col1 = col1 + 1;
5
5
 
6
6
  これは、テーブルt1のカラムcol1に、現在のcol1の値に+1した値で更新する、というものです。
7
+ WHERE句がないので、テーブルt1の全部の行に対して、col1が+1されます。
7
- 必要に応じて、WHERE句を補えば、目的の処理に近づく思います。
8
+ WHERE句で対象のid指定すれば、1行だけ更新かできます。
8
9
 
9
10
  [MySQL :: MySQL 5.6 リファレンスマニュアル :: 12.7 日付および時間関数](https://dev.mysql.com/doc/refman/5.6/ja/date-and-time-functions.html)
10
11
  からも引用します。
@@ -12,4 +13,7 @@
12
13
  > SELECT NOW();
13
14
 
14
15
  これは、現在日時をTIMESTAMP型で得られるものです。
15
- 更新日時のデータ型がTIMESTAMP型であれば、NOW()を与えることでデータベース上で現在日時が求められて更新用に使えるというわけです。
16
+ 更新日時のデータ型がTIMESTAMP型であれば、NOW()を与えることで
17
+ データベース上で現在日時が求められて更新用に使えるというわけです。
18
+ だったら、UPDATE文のSET句で、`UPDATE テーブル名 SET カラム名 = NOW()`とか書けば、
19
+ 指定のカラムに対して現在日時で更新される、というふうに類推できますよね。