728x90
300x250
나중에 까먹을까봐 기록해두는 sqlite
select, insert, update 는 사실 자주 쓰여서 까먹을일이 없는데 컬럼으로 존재여부 확인하고 alter 시키는건 기록 ~!
//db 폴더로 경로 설정
$path = "./db";
//db 폴더 존재하지 않으면 생성
if (!is_dir($path)) {
mkdir($path, 0777, true);
}
//db 폴더 내부에 test.db 라는 파일 있는지 체크
$is_file_exist = file_exists('./db/test.db');
//db 폴더 내부에 test.db 라는 파일 없으면 생성
if(!$is_file_exist){
fopen("./db/test.db","w");
}
//sqlite DB 연동
$DB = new SQLite3('./data/RecordON.db');
//==============================================================
//test 라는 테이블이 없으면 생성
$query = " CREATE TABLE IF NOT EXISTS test ( ";
$query .= " test1 INTEGER NOT NULL, ";
$query .= " test2 TEXT ";
$query .= " ); ";
$DB->query($query);
//TMEMBER 라는 테이블에 crtime 이라는 컬럼이 있는지 없는지 여부 체크
//없으면 컬럼들 추가
$query = " SELECT COUNT(*) AS CNTREC FROM pragma_table_info('TMEMBER') WHERE name='crtime' ";
$result_cnt = $DB->query($query);
$row_cnt = $result_cnt->fetchArray() ;
if($row_cnt[0] > 0){
}else{
$query = " BEGIN TRANSACTION; ";
$query .= " ALTER TABLE TMEMBER ADD COLUMN crtime TEXT ; ";
$query .= " ALTER TABLE TMEMBER ADD COLUMN test1 TEXT ; ";
$query .= " ALTER TABLE TMEMBER ADD COLUMN test2 TEXT ; ";
$query .= " COMMIT ";
$DB->query($query);
}
728x90
300x250
'IT > SQL' 카테고리의 다른 글
[Mysql/MariaDB] Insert 에러 Incorrect string value: '\xF0\x9F\x91\xB7\xF0\x9F...' for column (0) | 2021.09.29 |
---|---|
[mariaDB] root 비밀번호 분실시 변경 방법 (0) | 2021.06.08 |
[My-sql] Data too long for column (0) | 2020.12.10 |
[SQL] sqlite 오류 query(): near "fc" / sqlite database is locked (0) | 2020.11.20 |
[SQL] sqlite 설치 및 사용 (0) | 2020.11.19 |