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

MySQL-এ UPDATE ... datetime = NOW() ব্যবহার করলে কি সব রোতে একই ডেটা/টাইম থাকে?

NOW() ফাংশনটি স্টেটমেন্ট এক্সিকিউশন শুরু হওয়ার সময়ের কনস্ট্যান্ট টাইম রিটার্ন করে। SYSDATE() ফাংশনটি MySQL 5.0.13 থেকে স্টেটমেন্ট এক্সিকিউশনের সঠিক ডেটাটাইম রিটার্ন করে।

যদি আপনি ট্রিগার বা স্টোয়ারড প্রোসিজারে NOW() ব্যবহার করে ডেটাটাইম আপডেট করেন, তবে NOW() ট্রিগার বা স্টোয়ারড প্রোসিজার শুরু হওয়ার সময়টি রিটার্ন করবে।

NOW() দিয়ে আপডেটের ডেমো। প্রথমে একটি টেবিল তৈরি করি:

mysql> CREATE TABLE NowDemo (
    -> DueDateTime DATETIME
    -> ); Query OK, 0 rows affected (0.51 sec)

ইনসার্ট কমান্ড দিয়ে রেকর্ড যোগ করি:

mysql> INSERT INTO NowDemo VALUES('2018-12-19'); Query OK, 1 row affected (0.15 sec)
mysql> INSERT INTO NowDemo VALUES('2018-11-10'); Query OK, 1 row affected (0.20 sec)
mysql> INSERT INTO NowDemo VALUES('2017-11-21'); Query OK, 1 row affected (0.09 sec)

সিলেক্ট স্টেটমেন্ট দিয়ে সব রেকর্ড চেক করি:

mysql> SELECT * FROM NowDemo;

আউটপুট

+---------------------+
| DueDateTime         |
+---------------------+
| 2018-12-19 00:00:00 |
| 2018-11-10 00:00:00 |
| 2017-11-21 00:00:00 |
+---------------------+
3 rows in set (0.00 sec)

NOW() ব্যবহার করে ডেটাটাইম কলাম আপডেট করার ক্যোয়ারি যা সব মান আপডেট করবে:

Case 1 − NOW() ব্যবহার

mysql> UPDATE NowDemo SET DueDateTime = NOW(); Query OK, 3 rows affected (0.12 sec) Rows matched: 3 Changed: 3 Warnings: 0

সিলেক্ট কমান্ড দিয়ে আপডেট হওয়া মান চেক করি:

mysql> SELECT * FROM NowDemo;

নিচের আউটপুটে সব রোতে একই ডেটাটাইম দেখানো হচ্ছে:

+---------------------+
| DueDateTime         |
+---------------------+
| 2018-12-20 16:10:00 |
| 2018-12-20 16:10:00 |
| 2018-12-20 16:10:00 |
+---------------------+
3 rows in set (0.00 sec)

Case 2 − SYSDATE() ব্যবহার

mysql> UPDATE NowDemo SET DueDateTime = SYSDATE(); Query OK, 3 rows affected (0.43 sec) Rows matched: 3 Changed: 3 Warnings: 0

সিলেক্ট স্টেটমেন্ট দিয়ে আপডেট হওয়া মান চেক করি:

mysql> SELECT * FROM NowDemo;

নিচের আউটপুটে এখানেও সব রোতে একই ডেটাটাইম দেখানো হচ্ছে:

+---------------------+
| DueDateTime         |
+---------------------+
| 2018-12-20 16:10:35 |
| 2018-12-20 16:10:35 |
| 2018-12-20 16:10:35 |
+---------------------+
3 rows in set (0.00 sec)
  1. MySQL-এ DATE_FORMAT() দিয়ে DATETIME থেকে শুধু তারিখ (DD.MM.YYYY) বের করা

  2. MySQL-এ TRIM() দিয়ে সকল সারির অপ্রয়োজনীয় হোয়াইটস্পেস সরিয়ে আপডেট করা

  3. MySQL-এ একই টেবিলে ভিন্ন ID-তে সাধারণ মান 가진 সারি বের করা

  4. MySQL-এ একসাথে একাধিক রো ইনসার্ট করা (Multi-row INSERT)