MySQL 이미 생성되어있는 컬럼 유니크 key속성 부여하는 방법이 있을까요?

조회수 808회

이미지

그림에 필드이름 user_e_mail이란 곳에 Key 속성으로 unique=True를 부여해야되는데 이미 완성 되어있는 컬럼에 어떻게하면 적용할 수 있나요?

시퀄프로에서 create syntax에 보면

CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `password` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `user_e_mail` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `birthday` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
  `registered_on` datetime NOT NULL,
  `role_id` int(11) DEFAULT NULL,
  `gender` tinyint(1) DEFAULT NULL,
  `active` tinyint(1) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  KEY `role_id` (`role_id`),
  CONSTRAINT `user_ibfk_1` FOREIGN KEY (`role_id`) REFERENCES `role` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

이렇게 되어있습니다

  • alter ignore table user add unique (user_e_mail); 정영훈 2019.8.19 23:40
  • 이걸 어디다 입력해야하나요? 김재민 2019.8.20 08:49
  • 음...우선 RDBMS 에 대해 학습이 필요해보입니다....가벼운 MYSQL 관리서적을 한권 읽어보세요. 그것이 먼저 입니다. 정영훈 2019.8.20 12:15
  • 그 제가 쿼리를 몰라서 적용을 못하는게 아니라 flask를 사용중인데 flask와 mysql연동 시 사용한 model.py에 DB쿼리는 이미 생성이 되어있어서 수정한 후에 run을 해도 수정사항이 적용되지 않구요 시퀄프로라는 프로그램으로 mysql을 보고있는데 거기서도 필드를 수정하거나 자료형을 수정하는 건되는데 Key값(PK, UNI등)이 변경이 안 되더라구요 그래서 그 변경 작업을 어디서 해야하는지 다시 여쭤봐도 될까요? 김재민 2019.8.20 15:39
  • ddl 은 쿼리라고 안해요. 그리고 본문 어디에도 flask 언급은 없네요? 그리고 flask 는 persistence layer를 제공안하구요. 어떤 무엇의 orm 을 사용하는 듯 한데...flask 라면 sqlalchemy 가 확률이 높으나...뭐 알수가 없네요. 정영훈 2019.8.20 22:36
  • 용어 개념이 정확히 없어서 질문을 제대로 못했나보네요 맨 처음 알려준 alter ~이하 명령어를 시퀄프로에서 어떻게 입력해야하는지 시퀄프로에서 입력 할 수 없다면 터미널에서 해야하는건지 그걸 다시 여쭤본건데 여튼 감사합니다 김재민 2019.8.20 23:26

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)