我准备了一份声明:
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;
或任何命令,以查看生成的实际语句。另外,如果你看到我没有创建表的错误,请告诉我!
谢谢!
答案 0 :(得分:0)
你是对的...它确实有效。 Sequel Pro底部有一个小小的按钮,上面写着“刷新表列表”:/
感谢select @sql_text
声明。它运作良好。