mysql 修改一个字段为 UNIQUE

创建日期: 2023-04-16 10:53 | 作者: 风波 | 浏览次数: 14 | 分类: MySQL

参考:chatGPT

  1. 初始表结构(使用 show create table users; 命令查看)
CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `userid` varchar(32) NOT NULL,
  `nickname` varchar(128) DEFAULT NULL,
  `username` varchar(128) NOT NULL,
  `sha256pass` varchar(128) NOT NULL,
  `createtime` datetime DEFAULT NULL,
  `passreset` datetime DEFAULT NULL,
  `phone` varchar(32) DEFAULT NULL,
  `email` varchar(128) DEFAULT NULL,
  `status` int(11) DEFAULT NULL,
  `logcount` int(11) DEFAULT NULL,
  `comment` varchar(128) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `userid` (`userid`),
  UNIQUE KEY `username` (`username`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8
  1. 修改字段 emailUNIQUE 约束
alter table users ADD CONSTRAINT u_email UNIQUE (email);

语法

ALTER TABLE table_name
ADD CONSTRAINT constraint_name UNIQUE (column_name);
  1. 修改后的表结构
CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `userid` varchar(32) NOT NULL,
  `nickname` varchar(128) DEFAULT NULL,
  `username` varchar(128) NOT NULL,
  `sha256pass` varchar(128) NOT NULL,
  `createtime` datetime DEFAULT NULL,
  `passreset` datetime DEFAULT NULL,
  `phone` varchar(32) DEFAULT NULL,
  `email` varchar(128) DEFAULT NULL,
  `status` int(11) DEFAULT NULL,
  `logcount` int(11) DEFAULT NULL,
  `comment` varchar(128) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `userid` (`userid`),
  UNIQUE KEY `username` (`username`),
  UNIQUE KEY `u_email` (`email`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8
14 浏览
10 爬虫
0 评论