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

MySQL-এ দুই কলামকে প্রাইমারি কী ও অটো-ইনক্রিমেন্ট করা (MyISAM)

MySQL-এ দুই কলামকে কম্পোজিট প্রাইমারি কী বানিয়ে একটিকে অটো-ইনক্রিমেন্ট করা শুধু MyISAM স্টোরেজ ইঞ্জিনে সম্ভব।

উদাহরণ

mysql> CREATE TABLE TwoPrimaryKeyTableDemo (
    -> Result ENUM('First','Second','Third','Fail') NOT NULL,
    -> StudentId INT NOT NULL AUTO_INCREMENT,
    -> StudentName VARCHAR(200) NOT NULL,
    -> PRIMARY KEY(Result, StudentId)
    -> ) ENGINE=MyISAM;
Query OK, 0 rows affected (0.20 sec)

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

mysql> INSERT INTO TwoPrimaryKeyTableDemo(StudentName, Result) VALUES('John', 'Fail');
mysql> INSERT INTO TwoPrimaryKeyTableDemo(StudentName, Result) VALUES('Carol', 'First');
mysql> INSERT INTO TwoPrimaryKeyTableDemo(StudentName, Result) VALUES('Smith', 'Third');
mysql> INSERT INTO TwoPrimaryKeyTableDemo(StudentName, Result) VALUES('Johnson', 'Second');
mysql> INSERT INTO TwoPrimaryKeyTableDemo(StudentName, Result) VALUES('Johnson', 'Third');
mysql> INSERT INTO TwoPrimaryKeyTableDemo(StudentName, Result) VALUES('Carol', 'Second');
mysql> INSERT INTO TwoPrimaryKeyTableDemo(StudentName, Result) VALUES('Carol', 'Fail');

ORDER BY StudentId, Result দিয়ে দেখি:

mysql> SELECT * FROM TwoPrimaryKeyTableDemo ORDER BY StudentId, Result;
+--------+-----------+-------------+
| Result | StudentId | StudentName |
+--------+-----------+-------------+
| First  | 1         | Carol       |
| Second | 1         | Johnson     |
| Third  | 1         | Smith       |
| Fail   | 1         | John        |
| Second | 2         | Carol       |
| Third  | 2         | Johnson     |
| Fail   | 2         | Carol       |
+--------+-----------+-------------+
7 rows in set (0.00 sec)

দেখা যাচ্ছে Result গ্রুপ অনুযায়ী StudentId অটো-ইনক্রিমেন্ট হচ্ছে (১, ১, ১, ১, ২, ২, ২)। InnoDB-এ এটি সমর্থিত নয়।

  1. MySQL에서 기본 키(Primary Key) 삭제하기

  2. MySQL-এ একসাথে দুটি কলাম আপডেট করা (সিঙ্গল কোয়েরি)

  3. MySQL-এ প্রাইমারি কী রিসেট করা (TRUNCATE + ALTER TABLE)

  4. MySQL-এ AUTO_INCREMENT কলাম নিয়ে কাজ করা