테이블 구조를 추가 -는 드롭 대 열을 수정하고 열 MySQL의
| Field | Type | Null | Key | Default | Extra |
+----------------+--------------+------+-----+---------+----------------+
| id | bigint(20) | NO | PRI | NULL | auto_increment |
| candidateId | bigint(20) | NO | | NULL | |
| profileId | bigint(20) | NO | MUL | NULL | |
| clientId | bigint(20) | NO | | NULL | |
| email | varchar(128) | NO | | NULL | |
| verified | tinyint(1) | YES | | 0 | |
| isPrimary | tinyint(1) | YES | | 0 | |
| createdOn | datetime | NO | | NULL | |
| createdBy | bigint(20) | NO | | NULL | |
| encryptedEmail | varchar(255) | NO | | NULL | |
+----------------+--------------+------+-----+---------+---------
는 현재 encryptedemail에 데이터가 없습니다.
내가 고유 키를 만들고 싶었 -(clientId, profileId, encryptedEmail
)
clientId and profileId were duplicate.
쿼리 내가 사용 기록이 있었다으로 null
을 기본 암호화 된 이메일을 변환 시도 -
ALTER TABLE AlternateEmails MODIFY encryptedEmail varchar(255) NULL,
add constraint `profileId_3`
unique(`encryptedEmail`,`clientId`,`profileId`);
여전히 중복 레코드 오류가 표시됩니다.
은 그럼 내가 사용 -alter table AlternateEmails drop column encryptedEmail,
add column encryptedEmail varchar(255) default NULL, add constraint
`profileId_3` unique(`encryptedEmail`,`clientId`,`profileId`);
그것은 괜찮 았는데. 누군가 열 수정이 왜 효과가 없었던 지 설명 할 수 있습니까?
데이터 및 테이블 구조를 보지 않고도 아무 말도하기 어렵습니다. – Susang
테이블 구조가 이미 언급되었습니다. –
'열 수정'과 '제약 추가'를 별도로 시도해 주실 수 있습니까? – Susang