কম্পিউটার টিউটোরিয়াল

MySQL에서 CURDATE()로 오늘 날짜와 일치하는 레코드 업데이트하기

WHERE 날짜컬럼 = CURDATE()로 오늘 날짜와 정확히 일치하는 행만 업데이트할 수 있습니다.

테이블 생성 및 데이터 삽입

mysql> CREATE TABLE DemoTable1822 (
    -> Amount INT,
    -> DueDate DATE
    -> );
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT INTO DemoTable1822 VALUES(1000,'2019-10-11');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO DemoTable1822 VALUES(500,'2019-11-30');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO DemoTable1822 VALUES(700,'2018-11-30');
Query OK, 1 row affected (0.00 sec)

데이터 조회

mysql> SELECT * FROM DemoTable1822;
+--------+------------+
| Amount | DueDate    |
+--------+------------+
|   1000 | 2019-10-11 |
|    500 | 2019-11-30 |
|    700 | 2018-11-30 |
+--------+------------+
3 rows in set (0.00 sec)

오늘(2019-11-30) 날짜 행 Amount를 5000으로 업데이트

mysql> UPDATE DemoTable1822 SET Amount = 5000 WHERE DueDate = CURDATE();
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

업데이트 후

mysql> SELECT * FROM DemoTable1822;
+--------+------------+
| Amount | DueDate    |
+--------+------------+
|   1000 | 2019-10-11 |
|   5000 | 2019-11-30 |
|    700 | 2018-11-30 |
+--------+------------+
3 rows in set (0.00 sec)

주의: CURDATE()는 날짜만, NOW()는 날짜+시간. DATETIME 컬럼이면 DATE(컬럼) = CURDATE()로 비교. 인덱스 활용하려면 WHERE DueDate >= CURDATE() AND DueDate < CURDATE() + INTERVAL 1 DAY 형태 권장.

  1. MySQL에서 DATE() 함수로 날짜 부분만 비교해 레코드 업데이트하기

  2. MySQL-এ বর্তমান তারিখ (NOW/CURDATE) থেকে ছোট তারিখের রেকর্ড বের করা

  3. MySQL-এ নির্দিষ্ট তারিখের রেকর্ড গণনা করা (COUNT + DATE)

  4. MySQL-এ নির্দিষ্ট সেলের কন্টেন্ট আপডেট করা