最近自己做了一个购物车
其中购物车表如下:
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不是越变越大,这个会有什么隐患吗?
请大家帮忙解答一下,或者有成熟的做法,请指教谢谢!