메모장입니다.
Tag
Media Log
Location Log
Guest Book
Admin
Write
2017. 5. 11. 16:28
[PHP] MySQL 모든 테이블에서 특정 필드 존재하는지 확인 후 특정 작업하기
2017. 5. 11. 16:28
in
자작소스/PHP
m_idx 라는 필드를 가지는 테이블에서 특정 레코드값을 다른 db로 그대로 옮기는 작업, 여러가지로 응용 가능할 것임
$m_idx = 146850; $pdo->exec("SET FOREIGN_KEY_CHECKS = 0"); foreach($pdo->query("SHOW TABLES") as $tbl) { if(strpos($tbl['Tables_in_db'], '_archive') !== false) continue; $field = $pdo->query("SELECT 1 FROM information_schema.columns WHERE table_schema = 'db' AND table_name = '".$tbl['Tables_in_db']."' AND column_name = 'm_idx' ")->fetchColumn(); if(!$field) continue; $desc = $pdo->query("SHOW CREATE TABLE ".$tbl['Tables_in_db'])->fetch(); $create_sql = str_replace('`'.$tbl['Tables_in_db'].'`', 'db2.`'.$tbl['Tables_in_db'].'`', $desc['Create Table']); $create_sql = str_replace('CREATE TABLE', 'CREATE TABLE IF NOT EXISTS', $create_sql); $res = $pdo->query("SELECT 1 FROM db.".$tbl['Tables_in_db']." WHERE m_idx = ".$m_idx." LIMIT 1"); if(!$res->rowCount()) continue; $pdo->exec($create_sql); $pdo->exec("INSERT INTO db2.".$tbl['Tables_in_db']." SELECT * FROM db.".$tbl['Tables_in_db']." WHERE m_idx = ".$m_idx); }
공유하기
게시글 관리
메모장입니다.
저작자표시
비영리
동일조건
Posted by 와이즈번
메모장이라 볼만한건 없을 것임~
by
와이즈번
Category
분류 전체보기
(352)
프로젝트
(0)
자작소스
(66)
게시판(비공개)
(0)
C++/MFC/API
(6)
PHP
(50)
파이썬
(2)
Javascript
(4)
ActionScript3
(2)
ETC
(2)
팁&테크
(263)
안드로이드
(2)
ActionScript3
(24)
C & C++
(9)
C# & Unity3D
(2)
Cocos2d-x
(3)
Coldfusion & Lucee
(13)
ETC
(32)
HTML & Bootstrap
(8)
Java
(0)
Javascript
(19)
jQuery
(10)
Kotlin
(1)
Linux
(69)
MSSQL
(16)
MySQL
(23)
PHP
(22)
Winapi & MFC
(10)
즐겨찾기
(23)
공부
(0)
3_1_멀티미디어응용
(0)
3_2_컴퓨터그래픽
(0)
3_2_프로그래밍언어론
(0)
비공개
(0)
Rss Feed
Recent Article
Recent Comment
Calendar
«
2025/02
»
일
월
화
수
목
금
토
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
티스토리툴바