Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

kunci utama mysql dua kolom dengan peningkatan otomatis

jika Anda menggunakan myisam

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

Untuk tabel MyISAM dan BDB Anda dapat menentukan AUTO_INCREMENT pada kolom sekunder dalam indeks beberapa kolom. Dalam hal ini, nilai yang dihasilkan untuk kolom AUTO_INCREMENT dihitung sebagai MAX(auto_increment_column) + 1 WHEREprefix=given-prefix. Ini berguna ketika Anda ingin memasukkan data ke dalam grup yang diurutkan.

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 |
+--------+----+---------+

Untuk contoh Anda:

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. Menjalankan beberapa kueri SQL dalam satu pernyataan dengan PHP

  2. Ubah teks menjadi angka dalam kueri MySQL

  3. Pilih Query Untuk Mengambil Baris di MySQL

  4. Cara Menonaktifkan Mode SQL Ketat di MySQL 5.7

  5. bbPress:Cara menemukan pemetaan lampiran ke masing-masing posting