2016-01-17 27 views
1

我MATLAB字符串变量是如何使用MATLAB for-loop迭代创建MySQL表?

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

问题是你没有将实际的表名传递给你的连接字符串,你宁愿直接传递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 
+1

感谢@brodoll,我也看过'sprintf'函数来看看它的全部内容。 –