2013-05-21 163 views
0

我準備了一個聲明:打印MySQL查詢

set @table_name = 'W13LAT'; 

set @sql_text = concat('drop table if exists ',@table_name); 
set @sql_text2 = concat('create table ', @table_name, ' 
(`Student_ID_NUMBER` int(9) unsigned NOT NULL) 
ENGINE=MyISAM DEFAULT CHARSET=latin1 
'); 

prepare stmt from @sql_text; 
prepare stmt2 from @sql_text2; 

execute stmt; 
execute stmt2; 

的問題是,它不會創建表。我想通過打印出從準備語句生成的mysql查詢進行調試。這可能是從MySQL命令行的權利?例如,我想刪除execute stmt;execute stmt2;,並用echo stmt;print stmt;或其他任何命令查看生成的實際語句來替換它們。另外,如果您發現我爲了不創建表格而出現錯誤,請告訴我! 謝謝!

+1

'select @ sql_text' –

+1

對我來說,你的腳本可以工作。 –

回答

0

你是對的...它確實有效。在Sequel Pro的底部有一個小小的按鈕,表示'刷新表格列表':/

並感謝select @sql_text聲明。它也起作用。