레코드 당 필요한 전화 번호가 확실하지 않은 경우 전화 번호 테이블을 갖고 싶을 수 있습니다. 데이터베이스를 업데이트하는 PHP 스크립트를 실행하는 것이 더 쉬울 수도 있습니다 (전화 번호를 특정 형식으로 위생 처리하지 않고 INNODB를 사용한다고 가정 할 때) :
전화 번호 테이블을 만듭니다. :
CREATE TABLE `user_phone` (
`userid` int(10) unsigned NOT NULL,
`phone` char(15) NOT NULL,
PRIMARY KEY (`userid`,`phone`),
CONSTRAINT `fk_user_phone_userid` FOREIGN KEY (`userid`) REFERENCES `users` (`userid`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8
다음 기존 필드 데이터를 분할하고 새 테이블에 삽입을 만드는 PHP 스크립트를 작성하십시오.
편집 : 내 댓글에 아래에 언급 한 바와 같이 당신이 모든 업데이트 할 수있을 때까지, 당신은 여전히 함께 전화 번호 CONCAT있을 것 뒤쪽하게 호환보기를 할 수 : 나는 확실히을 writting을 끝장
CREATE VIEW `old_table` AS
select `u`.*, group_concat(`up`.`phone` separator '/') AS `phone`
from `user_phone` `up`
left join `users` `u` on(`up`.`userid` = `u`.`userid`)
group by `u`.`userid`
이것은 물론 보고서, GUI 및 기타와 같은 앱의 다른 레이어를 손상시키지 않는다고 가정합니다. – Kuberchaun
물론입니다. 모든 것이 제대로 작동하기 위해 업데이트되기 전까지는 bc에 대한 전화 열을 작성하는보기를 만들 수 있습니다. –
이것은 내가 목표로 한 것입니다 ... 시도해 주셔서 감사합니다;) – mike