繁体   English   中英

基于其他列组合的MySQL InnoDB自动增量列

[英]MySQL InnoDB auto increment column based on combination of other columns

我正在建立一个系统,用户可以在其中上传所需的任何文件,而不用它执行任何类型的代码。 作为其一部分,我重命名了每个文件,并将其原始名称存储在MySQL表中。 该表包含上载用户的ID,以及上载的唯一ID。 目前,我正在这样做:

CREATE TABLE `uploads` (
    `user_id` INT(11) NOT NULL,
    `upload_id` INT(11) NOT NULL AUTO_INCREMENT,
    `original_name` VARCHAR(30) NOT NULL,
    `mime_type` VARCHAR(30) NOT NULL,
    `name` VARCHAR(50) NOT NULL,
    PRIMARY KEY (`user_id`, `upload_id`)
) ENGINE=MyISAM;

这意味着我将始终拥有user_id和upload_id的唯一组合,并且每个首次上载的用户的ID均为1。但是我听说MyISAM很旧,我应该使用InnoDB。 有什么方法可以在InnoDB中实现?

MyISAM表的最大问题是它们不是事务性的。 用您所说的话,您只会创建记录,然后读取它们(可能以后再删除它们),但是几乎没有编辑或没有编辑。 这种情况就是MyISAM所设计的,它对于大多数只读记录来说是快速的。 我个人认为转换为InnoDB没有任何好处。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM