我的MATLAB字符串变量是
list ={'table1','table2'...
}
我想在MYSQL中使用下面的代码创建这些表失败;
handle=list;
size_h = max(size(handle));
for i = size_h
e = 'create table handle(i) (col int(11))';
curs=exec(conn,e);
end
我知道问题出在我在查询中使用handle(i)
的地方,因为删除它并使用简单的表格名称正常工作。
我如何使用'i'
创建特定的表?
答案 0 :(得分:0)
问题是你没有将实际的表名传递给你的连接字符串,而是按字面意思传递handle(i)
。一种替代方法是手动构建字符串或使用sprintf
函数。另外handle
是一个单元格,要访问它的内容,您应该使用{}
代替()
。我还将计数器从i
更改为matlab中的内置虚构单元到ii
。
handle=list;
size_h = max(size(handle));
for ii = 1:size_h
e = sprintf('create table %s (col int(11))',handle{ii});
curs=exec(conn,e);
end