글
/**************************************************************
* FileName : target.c *
* DESC : MySQL 기본 연결 *
* Compile : gcc -o target target.c -lmysqlclient \ *
* -I/usr/local/mysql/include/mysql \ *
* -L/usr/local/mysql/lib/mysql *
* Error : 실행할 때 에러가 난다면 아래 명령어를 실행 *
* bash : export LD_LIBRARY_PATH=/usr/local/lib/mysql *
* csh : setenv LD_LIBRARY_PATH /usr/local/lib/mysql *
* 실행 : ./target TableName (삽입할 개수) *
*************************************************************/
#include <stdio.h>
#include <time.h>
#include <mysql.h>
#define HOST "localhost"
#define USER "root"
#define PASS "test"
#define DB_NAME "test"
MYSQL_RES *result;
MYSQL_ROW row;
MYSQL mysql;
int main(int argc, char *argv[])
{
char query[1024];
int res, i, j, num;
time_t clock1, clock2;
if(argc != 4){
printf("Usage : [%s] TableName Number\n", argv[0]);
exit(1);
}
/* 수행 시간을 위해 필요 */
(void)time(&clock1);
mysql_init(&mysql);
if(!mysql_real_connect(&mysql, HOST, USER, PASS, NULL, 0, (char *)NULL, 0))
{
printf("%s\n", mysql_error(&mysql));
exit(1);
}
/* db를 선택 */
if( mysql_select_db(&mysql, DB_NAME)){
printf("%s\n", mysql_error(&mysql));
exit(1);
}
num = atoi(argv[2]);
for(i=0;i<num;i++)
{
sprintf(query, "insert into %s (userId, MailTo) values(\'ius[%d]\',\'%s\')", argv[1], i, argv[3]);
res = mysql_query(&mysql, query);
if (!res) {
// printf("Inserted %lu rows\n", (unsigned long)mysql_affected_rows(&mysql));
} else {
fprintf(stderr, "Insert error %d: %s\n", mysql_errno(&mysql), mysql_error(&mysql));
}
}
mysql_close(&mysql);
(void)time(&clock2);
printf("%d개의 자료를 성공적으로 삽입하였습니다.\n 수행 시간은 %ld 초 입니다\n", atoi(argv[2]), (long)clock2 - (long)clock1);
return 0;
}
'MySQL' 카테고리의 다른 글
MySQL 과 C 연동법 (0) | 2006.11.20 |
---|---|
Calling MySQL from C (0) | 2006.11.20 |
C 와 MySQL 의 연동 (0) | 2006.11.20 |
MySQL C-API Example (0) | 2006.11.20 |
MySQL C API 로 unicode 데이터 insert 하기 (0) | 2006.11.19 |
RECENT COMMENT