Altering a UNIQUE Constraint in a MySQL Table

It took me a while to figure out how to drop and recreate a UNIQUE constraint on one of my tables. So I figured I would record the slick little sequence of commands here to help my memory and save me time next time:

SHOW CREATE TABLE t_lti_link;
 
CREATE TABLE `t_lti_link` (
`link_id` int(11) NOT NULL AUTO_INCREMENT,
`link_sha256` char(64) NOT NULL,
`link_key` varchar(4096) NOT NULL,
`context_id` int(11) NOT NULL,
`title` varchar(2048) DEFAULT NULL,
`json` text,
`created_at` datetime NOT NULL,
`updated_at` datetime NOT NULL,
PRIMARY KEY (`link_id`),
UNIQUE KEY `link_sha256` (`link_sha256`),
KEY `t_lti_link_ibfk_1` (`context_id`),
CONSTRAINT `t_lti_link_ibfk_1` FOREIGN KEY (`context_id`) REFERENCES `t_lti_context` (`context_id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=74 DEFAULT CHARSET=utf8
 
ALTER TABLE t_lti_link DROP INDEX link_sha256;
 
SHOW INDEX FROM t_lti_link;
 
ALTER TABLE t_lti_link ADD UNIQUE(link_sha256, context_id)
 
SHOW INDEX FROM t_lti_link;
 
SHOW CREATE TABLE t_lti_link;
 
CREATE TABLE `t_lti_link` (
`link_id` int(11) NOT NULL AUTO_INCREMENT,
`link_sha256` char(64) NOT NULL,
`link_key` varchar(4096) NOT NULL,
`context_id` int(11) NOT NULL,
`title` varchar(2048) DEFAULT NULL,
`json` text,
`created_at` datetime NOT NULL,
`updated_at` datetime NOT NULL,
PRIMARY KEY (`link_id`),
UNIQUE KEY `link_sha256` (`link_sha256`,`context_id`),
KEY `t_lti_link_ibfk_1` (`context_id`),
CONSTRAINT `t_lti_link_ibfk_1` FOREIGN KEY (`context_id`) REFERENCES `t_lti_context` (`context_id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=74 DEFAULT CHARSET=utf8

Sweet. I am loving that MySQL magic.