本来以为很简单,结果总是不太对。求一个最简单的写法。用到 C 也行。唯一的要求是不要用到数据库名。
解决方案 »
- mysql 百万级联表查询的优化
- mysql数据库问题
- 配置apache的httpd.conf出的错
- mysql集群 那个高手进来赐教赐教
- Load Data Infile 不能在存储过程中动态的用 Prepare 实现?
- mysql建库时,如何存储中文字段?散分!!
- MySQL导出多个表到同一个Excel下的不同sheet
- MYSQL order by limit 问题
- 关于c语言调用maysql命令时如何自动填入密码!!!
- mysql的复杂sql(有group by ) 只能建立temptable视图, 查询很慢, 怎么解决?
- 获得最后一次时间的记录
- 一共90w条数据执行一个select * from table就用了5s钟
然后判断数据库返回,如果出错,则近似说明表不存在。 不出错则说明表存在,继续执行 delete from tableName
SHOW TABLES LIKE '%tb_bp_d_case%';
select `TABLE_NAME` from `INFORMATION_SCHEMA`.`TABLES` where `TABLE_NAME`='res_mos_cpu_statistics'
)
select '存在'
else
select 'bucunzai'
if exists 能这样用吗?通不过的。
select '存在';
ELSE
select '不存在';
END IF;
ENDor
SELECT count(*) into @num FROM `INFORMATION_SCHEMA`.`TABLES` WHERE `TABLE_NAME`='a1';
if @num>=1 then
select '存在';
else
select '不存在';
end if;
select '存在';
ELSE
select '不存在';
END IF;
END
好办法,我就是这么搞的。
(1)bool tableExists(const std::string& table_name);
(2)void cleanTable(const std::string& table_name); //假设表已经存在分解完以后,就很好弄了
上边的回复都有相应的思路
如果只是想达到目的,truncate table <tablename>似乎最爽,忽略异常是吧。
CREATE TABLE IF NOT EXISTS tablename (fields) ;
6楼的正解,应该可以用.
-----------------------------------------sp:IF EXISTS(SELECT 1 FROM `INFORMATION_SCHEMA`.`TABLES` WHERE `TABLE_NAME`='a1') THEN
select '存在';
delete from TABLE;//删除表
ELSE
select '不存在';
END IF;
ENDor
SELECT count(*) into @num FROM `INFORMATION_SCHEMA`.`TABLES` WHERE `TABLE_NAME`='a1';
if @num>=1 then
select '存在';
delete from TABLE;//删除表
else
select '不存在';
end if;
------------------
C语法:
SELECT count(*) into @num FROM `INFORMATION_SCHEMA`.`TABLES` WHERE `TABLE_NAME`='a1';
if (@num>=1){
// '存在';
delete from TABLE;//删除表
}else{
//'不存在';
}
endif;自己查一下num可不可以直接这样赋值的,就是这种方法。
sql = "show tables like "+ QuotedStr(tablename);
int recordcount = getRecordCount(_mysql, sql.c_str());
if (recordcount == -1)
{
string err = "error in SQL: "+ sql + ". " + mysql_error(_mysql);
throw err;
}
if (recordcount == 0)
continue;// clear the table
sql = "delete from " + tablename;
if (-1 == setData (_mysql, sql.c_str()))
{
string err = mysql_error(_mysql);
throw err;
}