购物车表主键的一些问题

最近自己做了一个购物车
其中购物车表如下:
CREATE TABLE cart (
id INT NOT NULL AUTO_INCREMENT,
cart_id CHAR(32) NOT NULL,
goods_id INT NOT NULL,
quantity INT NOT NULL,
added_on DATETIME NOT NULL,
PRIMARY KEY (id)
) ENGINE=MyISAM;

由于考虑到确保主键id在无论何种情况下保持唯一值,所以写插入语句的时候,为id指定的值是UUID()
但是结果在测试的时候,动不动就报主键冲突的错误:
//Integrity constraint violation: 1062 Duplicate entry '0' for key 'PRIMARY'
没有任何规律可循

于是暂时不用UUID(),让id自增(不知道理论上有没有可能出现主键冲突,比如正巧都在这一瞬间同时加入购物车...理论上,有可能吗?)这是第一个问题.

第二个问题:
加入购物车进行付款的时候,实际上是删除购物车里面的订单,并把订单加入到order表,cart表每天要做数不清的add update delete操作,那cart表的id不是越变越大,这个会有什么隐患吗?

请大家帮忙解答一下,或者有成熟的做法,请指教谢谢!

问题一:主键自增是通过数据库进行实现的,不会出现问题(个人也不怎么建议使用uuid)
问题二:主键自增达到一定程度,肯定会出现问题,不过,这个要想出现问题,得很久很久,我还没遇到这个问题。这个问题,应该是dba要考虑的,牵涉到数据库的某些优化机制。

让ID自增不会有问题的,这是由数据库本身管理的,数据库已经做了排它处理了,同时添加不会重复。

ID值越来越大对于数据库赖说也是没有问题的,这个值一直增也可以保证很多年用不完的。

当ID的值,达到了ID允许的最大值,
这个应该会有问题吧·。。

:lol: 可以看看那个 petshope的cars表的设计啊···