백업한 '게시물'의 SQL을 두번 넣고 싶은데, AI 값과 관련하여, wr_id 값을 자동으로 변경하는 방법이 있을까요?
본문
기존 관리하던 그누보드 3개의 메뉴를, 1개의 메뉴로 통합하고자 합니다.
그랬더니, AI( auto_increment ) 문제에 직면하여, 도움을 부탁드립니다.
phpMyAdmin을 통하여 기존에 있는 SQL 백업으로, 아래와 같은 결과를 얻었습니다.
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */;
-- -- 테이블 구조 `g5_write_news` --
CREATE TABLE `g5_write_news` ( `wr_id` int(11) NOT NULL, `wr_num` int(11) NOT NULL DEFAULT '0', `wr_reply` varchar(10) NOT NULL, `wr_parent` int(11) NOT NULL DEFAULT '0', `wr_is_comment` tinyint(4) NOT NULL DEFAULT '0', `wr_comment` int(11) NOT NULL DEFAULT '0', `wr_comment_reply` varchar(5) NOT NULL, `ca_name` varchar(255) NOT NULL, `wr_option` set('html1','html2','secret','mail') NOT NULL, `wr_subject` varchar(255) NOT NULL, `wr_content` text NOT NULL, `wr_link1` text NOT NULL, `wr_link2` text NOT NULL, `wr_link1_hit` int(11) NOT NULL DEFAULT '0', `wr_link2_hit` int(11) NOT NULL DEFAULT '0', `wr_hit` int(11) NOT NULL DEFAULT '0', `wr_good` int(11) NOT NULL DEFAULT '0', `wr_nogood` int(11) NOT NULL DEFAULT '0', `mb_id` varchar(20) NOT NULL, `wr_password` varchar(255) NOT NULL, `wr_name` varchar(255) NOT NULL, `wr_email` varchar(255) NOT NULL, `wr_homepage` varchar(255) NOT NULL, `wr_datetime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `wr_file` tinyint(4) NOT NULL DEFAULT '0', `wr_last` varchar(19) NOT NULL, `wr_ip` varchar(255) NOT NULL, `wr_facebook_user` varchar(255) NOT NULL, `wr_twitter_user` varchar(255) NOT NULL, `wr_1` varchar(255) NOT NULL, `wr_2` varchar(255) NOT NULL, `wr_3` varchar(255) NOT NULL, `wr_4` varchar(255) NOT NULL, `wr_5` varchar(255) NOT NULL, `wr_6` varchar(255) NOT NULL, `wr_7` varchar(255) NOT NULL, `wr_8` varchar(255) NOT NULL, `wr_9` varchar(255) NOT NULL, `wr_10` varchar(255) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8; |
그 후에, 하단의 Insert문을 실행하였습니다.
INSERT INTO `g5_write_news` (`wr_id`, `wr_num`, `wr_reply`, `wr_parent`, `wr_is_comment`, `wr_comment`, `wr_comment_reply`, `ca_name`, `wr_option`, `wr_subject`, `wr_content`, `wr_link1`, `wr_link2`, `wr_link1_hit`, `wr_link2_hit`, `wr_hit`, `wr_good`, `wr_nogood`, `mb_id`, `wr_password`, `wr_name`, `wr_email`, `wr_homepage`, `wr_datetime`, `wr_file`, `wr_last`, `wr_ip`, `wr_facebook_user`, `wr_twitter_user`, `wr_1`, `wr_2`, `wr_3`, `wr_4`, `wr_5`, `wr_6`, `wr_7`, `wr_8`, `wr_9`, `wr_10`) VALUES (209, -208, '', 209, 0, 0, '', '공지', 'html1', 'Test', '<p> </p><p>테스트 파일 입니다</p>', '', '', 0, 0, 4, 0, 0, 'admin', '*D76DC854984274EC18DDE6026E2892C65AD4838F', '관리자', '*** 개인정보보호를 위한 이메일주소 노출방지 ***', '', '2017-05-05 16:52:47', 2, '2017-05-05 16:52:47', 'IP', '', '', '', '', '', '', '', '', '', '', '', ''); |
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */; -- -- 테이블의 인덱스 `g5_write_news` -- ALTER TABLE `g5_write_news` ADD PRIMARY KEY (`wr_id`), ADD KEY `wr_num_reply_parent` (`wr_num`,`wr_reply`,`wr_parent`), ADD KEY `wr_is_comment` (`wr_is_comment`,`wr_id`); -- -- 테이블의 AUTO_INCREMENT `g5_write_news` -- ALTER TABLE `g5_write_news` MODIFY `wr_id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=210; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; |
답변 1
wr_id와 wr_num을 다시 만들어줘야 하는 상황이 되었습니다.
<--- 게시물 순서를 어덯게 나오게 하려는지 모르겠으나 wr_id, wr_num, wr_parent 모두 다시만들어 주어야 합니다
phpMyadmin에서 하는 것보다 아래 방법을 이용하세요
(다른 이름으로 게시판 복사를 해서 게시판 두개를 합치는 방법으로)
g4용이므로 g5용으로 수정해야 합니다
https://sir.kr/g4_tiptech/32643?sfl=mb_id%2C1&stx=kt7264