如何使用MATLAB for循环迭代创建MySQL表?

时间:2016-01-17 09:05:52

标签: mysql matlab

我的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'创建特定的表?

1 个答案:

答案 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