bluefog510 2011-08-11 03:33
浏览 456
已采纳

购物车表主键的一些问题

最近自己做了一个购物车
其中购物车表如下:
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不是越变越大,这个会有什么隐患吗?

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

  • 写回答

4条回答 默认 最新

  • iteye_566 2011-08-11 18:32
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写
  • ¥20 Qcustomplot缩小曲线形状问题
  • ¥15 企业资源规划ERP沙盘模拟
  • ¥15 树莓派控制机械臂传输命令报错,显示摄像头不存在
  • ¥15 前端echarts坐标轴问题
  • ¥15 ad5933的I2C
  • ¥15 请问RTX4060的笔记本电脑可以训练yolov5模型吗?
  • ¥15 数学建模求思路及代码
  • ¥50 silvaco GaN HEMT有栅极场板的击穿电压仿真问题