2016-01-17 56 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'函數來看看它的全部內容。 –