[PHP] MYSQL 신규 테이블 생성 예제
아래 예제는 킴스큐RB 로 운용하는 테이블 정보를 phpMyAdmin 을 이용하여 테이블 내보내기를 하여 만들어진 SQL 문을 가져다가 만든 것이다. 직접 테스트해보고 테이블 구조는 약간 변경했다.
$A_TABLE, $B_TABLE 이라고 굳이 적은 이유는 테이블 생성, 데이터 복사 등을 편하게 하기 위한 목적이다.
아직 킴스큐RB 구조 모듈에 맞게 작업할 줄을 몰라서 현재 방법으로 정리해둔다.
첨부한 파일은 아래 코드임.
<?php
defined('__KIMS__');
session_start();
// 테이블이 생성되기 전에 데이터 베이스 연결하기
// 데이터베이스는 mysql_select_db () 함수를 사용하여 선택
include_once 'db.info.php';
require '../_core/function/db.mysql.func.php';
require '../_core/function/lib/getContent.lib.php';
$DB_CONNECT = isConnectDb($DB);
// 데이터베이스 연결하기 완료
$A_TABLE = Sample; // 원본 테이블
$B_TABLE = Sample_copy; // 복사 또는 신규 생성할 테이블
$result = mysql_query("SELECT COUNT(*) from $B_TABLE", $DB_CONNECT);
if ( !$result )
{
$result =
"CREATE TABLE `$B_TABLE` (
`uid` int(10) unsigned NOT NULL auto_increment,
`user_id` varchar(20) NOT NULL default '',
`user_name` varchar(16) NOT NULL default '',
`Cate1` varchar(12) default NULL,
`Cate2` varchar(12) default NULL,
`subject` varchar(200) NOT NULL default '',
`explain` varchar(200) default NULL,
`direct` varchar(200) default NULL,
`comment` text,
`ABC` char(2) default NULL,
`date` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`uid`)
) TYPE=MyISAM AUTO_INCREMENT=0 ";
mysql_query($result, $DB_CONNECT);
echo "테이블 생성완료!!";
}
else { echo "테이블이 이미 있어요"; }
//데이터베이스와의 연결 종료
mysql_close($DB_CONNECT);
?>
테스트 해보니 PHP 와 MYSQL 버전에 따라서 DB테이블 구조 다루는 방식이 약간 다른 거 같다.
버전이 서로 다른 걸 가지고 테이블을 생성하니까 생성이 안된다.
위의 것은 PHP 버전: 4.4.8 이고, MYSQL 4.0.27
테이블 구조는 원래 테이블에서 일부 테이블을 삭제한 것임
-- PHP Version: 5.4.27, MYSQL 5.1
-- Table structure for table `bbs_data`
CREATE TABLE `bbs_data` (
`uid` int(11) NOT NULL AUTO_INCREMENT,
`gid` double(11,2) NOT NULL DEFAULT '0.00',
`name` varchar(30) NOT NULL DEFAULT '',
`nic` varchar(50) NOT NULL DEFAULT '',
`id` varchar(16) NOT NULL DEFAULT '',
`pw` varchar(50) NOT NULL DEFAULT '',
`category` varchar(100) NOT NULL DEFAULT '',
`subject` varchar(200) NOT NULL DEFAULT '',
`content` mediumtext NOT NULL,
`regis` varchar(14) NOT NULL DEFAULT '',
`modify` varchar(14) NOT NULL DEFAULT '',
`d_comment` varchar(14) NOT NULL DEFAULT '',
`upload` text NOT NULL,
`ip` varchar(25) NOT NULL DEFAULT '',
`adddata` text NOT NULL,
PRIMARY KEY (`uid`),
KEY `bbs` (`bbs`),
KEY `category` (`category`),
KEY `subject` (`subject`),
KEY `d_regis` (`d_regis`),
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
'SQL' 카테고리의 다른 글
엑셀데이터를 MYSQL DB Import (Update) (1) | 2014.07.12 |
---|---|
게시물 개수, 업데이트, 출력 (0) | 2014.05.20 |
[PHP] MYSQL 테이블 생성하고 데이터까지 복사 예제 (0) | 2014.05.12 |
[PHP] MYSQL 테이블 복사방법 소개 (0) | 2014.05.11 |
[PHP] MYSQL SELECT 문 다루기 (0) | 2014.05.08 |