Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

ऑटो-इन्क्रीमेंट के साथ mysql दो कॉलम प्राथमिक कुंजी

यदि आप मायिसम का उपयोग कर रहे हैं

http://dev.mysql.com/doc /refman/5.0/hi/example-auto-increment.html

<ब्लॉकक्वॉट>

MyISAM और BDB तालिकाओं के लिए आप बहु-स्तंभ अनुक्रमणिका में द्वितीयक स्तंभ पर AUTO_INCREMENT निर्दिष्ट कर सकते हैं। इस मामले में, AUTO_INCREMENT कॉलम के लिए उत्पन्न मान की गणना MAX(auto_increment_column) + 1 WHEREprefix=given-prefix के रूप में की जाती है। यह तब उपयोगी होता है जब आप डेटा को आदेशित समूहों में रखना चाहते हैं।

CREATE TABLE animals (
    grp ENUM('fish','mammal','bird') NOT NULL,
    id MEDIUMINT NOT NULL AUTO_INCREMENT,
    name CHAR(30) NOT NULL,
    PRIMARY KEY (grp,id)
) ENGINE=MyISAM;

INSERT INTO animals (grp,name) VALUES
    ('mammal','dog'),('mammal','cat'),
    ('bird','penguin'),('fish','lax'),('mammal','whale'),
    ('bird','ostrich');

SELECT * FROM animals ORDER BY grp,id;

Which returns:

+--------+----+---------+
| grp    | id | name    |
+--------+----+---------+
| fish   |  1 | lax     |
| mammal |  1 | dog     |
| mammal |  2 | cat     |
| mammal |  3 | whale   |
| bird   |  1 | penguin |
| bird   |  2 | ostrich |
+--------+----+---------+

आपके उदाहरण के लिए:

mysql> CREATE TABLE mytable (
    ->     table_id MEDIUMINT NOT NULL AUTO_INCREMENT,
    ->     database_id MEDIUMINT NOT NULL,
    ->     other_column CHAR(30) NOT NULL,
    ->     PRIMARY KEY (database_id,table_id)
    -> ) ENGINE=MyISAM;
Query OK, 0 rows affected (0.03 sec)

mysql> INSERT INTO mytable (database_id, other_column) VALUES
    ->     (1,'Foo'),(1,'Bar'),(2,'Baz'),(1,'Bam'),(2,'Zam'),(3,'Zoo');
Query OK, 6 rows affected (0.00 sec)
Records: 6  Duplicates: 0  Warnings: 0

mysql> SELECT * FROM mytable ORDER BY database_id,table_id;
+----------+-------------+--------------+
| table_id | database_id | other_column |
+----------+-------------+--------------+
|        1 |           1 | Foo          |
|        2 |           1 | Bar          |
|        3 |           1 | Bam          |
|        1 |           2 | Baz          |
|        2 |           2 | Zam          |
|        1 |           3 | Zoo          |
+----------+-------------+--------------+
6 rows in set (0.00 sec)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL क्या है? - डेटाबेस प्रबंधन प्रणाली का परिचय

  2. दो अलग-अलग सर्वर से तालिकाओं में शामिल हों

  3. पुनरावर्ती ट्री बनाने के लिए पंक्तियों को पार करने के लिए MySQL क्वेरी का उपयोग करना

  4. MySQL पर @GeneratedValue बहुरूपी सार सुपरक्लास

  5. एक mysql तालिका से दिनांकित रिकॉर्ड के नवीनतम सेट का चयन कैसे करें