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

MySQL-এ BIGINT সাইনড বা আনসাইনড বোঝার পদ্ধতি

MySQL-এ BIGINT` ডিফল্টভাবে সাইনড (signed) হয়, অর্থাৎ নেগেটিভ ও পজিটিভ দুটোই ধারণ করতে পারে। UNSIGNED কীওয়ার্ড দিলে শুধু পজিটিভ মান ধারণ করে (রেঞ্জ দ্বিগুণ হয়)।

টেবিল তৈরি (দুই ধরণের BIGINT)

mysql> CREATE TABLE DemoTable (
    Number BIGINT,              -- Signed (ডিফল্ট)
    Number2 BIGINT UNSIGNED     -- Unsigned
);

টেস্ট ডেটা ইনসার্ট

mysql> INSERT INTO DemoTable VALUES (18446744073709551615, 18446744073709551615);
ERROR 1264 (22003): Out of range value for column 'Number' at row 1

Number (সাইনড) এর সর্বোচ্চ মান 9223372036854775807, তাই এরর দিয়েছে।

mysql> INSERT INTO DemoTable VALUES (9223372036854775807, 18446744073709551615);
Query OK, 1 row affected (0.28 sec)

ফলাফল

+---------------------+----------------------+
| Number              | Number2              |
+---------------------+----------------------+
| 9223372036854775807 | 18446744073709551615 |
+---------------------+----------------------+

রেঞ্জ:

  • BIGINT SIGNED: -9223372036854775808 থেকে 9223372036854775807
  • BIGINT UNSIGNED: 0 থেকে 18446744073709551615

চেক করার উপায়: DESCRIBE table_name; বা SHOW CREATE TABLE table_name; দিয়ে কলাম ডেফিনিশনে UNSIGNED আছে কিনা দেখুন।

  1. MySQL-এ GROUP_CONCAT() দিয়ে রো মার্জ করা (গ্রুপিং)

  2. MySQL-এ অটো-ইনক্রিমেন্ট কলাম অনুযায়ী সর্ট (ORDER BY Id DESC)

  3. MySQL-এ LIMIT OFFSET দিয়ে রো বাদ দিয়ে (Skip) রেকর্ড বের করা

  4. MySQL-এ ডেটাটাইম রি-ফরম্যাট করা