MySQL复合主键自增长的问题

今天在用powerdesigner设计数据库模型的时候遇到了MySQL数据库复合主键的自增长问题,一开始时没找准错误根源,Google了半天也没找到点头绪,后来才发现是复合主键的问题,特此记录一下。

看下面的代码:

mysql> CREATE TABLE `_test` (

    -> `c1` varchar(20) NOT NULL DEFAULT '', -- 主键一:varchar

    -> `c2` int(11) NOT NULL AUTO_INCREMENT, -- 主键二:自增序列

    -> `c3` varchar(255) ,

    -> PRIMARY KEY (`c1`,`c2`) -- 注意这里的先后顺序

    -> ) ENGINE=MyISAM DEFAULT CHARSET=latin1;

Query OK, 0 rows affected (0.04 sec)



mysql>

mysql> INSERT INTO `_test` (`c1`,`c3`) VALUES ('AAA','Robin Home'),

    -> ('AAA','Robin Blog'),

    -> ('AAA','Robin Resume'),

    -> ('BBB','Lily Home'),

    -> ('BBB','Lily Blog');

Query OK, 5 rows affected (0.00 sec)

Records: 5  Duplicates: 0  Warnings: 0



mysql>

mysql> SELECT * FROM `_test`;

+-----+----+--------------+

| c1  | c2 | c3           |

+-----+----+--------------+

| AAA |  1 | Robin Home   |

| AAA |  2 | Robin Blog   |

| AAA |  3 | Robin Resume |

| BBB |  1 | Lily Home    |

| BBB |  2 | Lily Blog    |

+-----+----+--------------+

5 rows in set (0.00 sec)



mysql>

值得注意的是,MySQL的这种特性只适用于MyISAM和BDB引擎。

参考链接:http://www.yinyh.com/viewthread.php?tid=143

你可能感兴趣的:(mysql)