我有一个表(例如用户名),我想确保是唯一的一列。 所以我为该列创build一个唯一的键,并将其称为IX_Users_UserName。 现在,如果我根据用户名进行大量search,我想确保该字段有一个索引。 我是否需要创build一个单独的索引,还是唯一的键也被认为是一个索引,就像主键是一个聚集的唯一键?
任何人都可以解释关于PRIMARY KEY , UNIQUE KEY和KEY的目的,如果他们把它放在一起在MySQL中的一个单一的CREATE TABLE语句? CREATE TABLE IF NOT EXISTS `tmp` ( `id` int(11) NOT NULL AUTO_INCREMENT, `uid` varchar(255) NOT NULL, `name` varchar(255) NOT NULL, `tag` int(1) NOT NULL DEFAULT '0', `description` varchar(255), PRIMARY KEY (`id`), UNIQUE KEY `uid` (`uid`), KEY `name` (`name`), KEY `tag` (`tag`) ) ENGINE=InnoDB AUTO_INCREMENT=1 ; 如何将这个查询转换为MySQL?
我有一个两列独特的关键表: CREATE TABLE `xpo`.`user_permanent_gift` ( `id` INT UNSIGNED NOT NULL AUTO_INCREMENT , `fb_user_id` INT UNSIGNED NOT NULL , `gift_id` INT UNSIGNED NOT NULL , `purchase_timestamp` TIMESTAMP NULL DEFAULT now() , PRIMARY KEY (`id`) , UNIQUE INDEX `user_gift_UNIQUE` (`fb_user_id` ASC, `gift_id` ASC) ); 我想在表中插入一行,但是如果键存在,什么也不做! 我不想因为键存在而产生错误。 我知道有下面的语法: INSERT … ON DUPLICATE KEY UPDATE … 但有这样的东西: INSERT … […]
什么时候应该使用KEY , PRIMARY KEY , UNIQUE KEY和INDEX ?
我正在使用mysql数据库。 主键和唯一键之间有混淆。 请帮我在哪里创build主要和唯一的关键。 我的意思是在哪种情况下我们创build唯一的密钥或主键。