Можно ли сохранить вывод SHOW CREATE TABLE tablename в переменную?Можно ли сохранить вывод SHOW CREATE TABLE tablename в переменную?
Если возможно, как бы я это сделал?
спасибо
Можно ли сохранить вывод SHOW CREATE TABLE tablename в переменную?Можно ли сохранить вывод SHOW CREATE TABLE tablename в переменную?
Если возможно, как бы я это сделал?
спасибо
Это невозможно. Хотя возвращаемое значение выглядит как стандартный набор данных, SQL синтаксический анализатор не допустит в таких стандартных запросов, как это:
SELECT `Create Table` INTO @foo FROM (SHOW CREATE TABLE bar);
Вы можете свернуть свой собственный, хотя. See this answer for more details.
Вы можете сделать это с результатами, с PHP, например:
function getCreateSQLFromTableName($table){
$sql = "SHOW CREATE TABLE $table";
echo $sql;
$res = mysql_query($sql);
if($res){
$row = mysql_fetch_assoc($res);
$createSQL = $row['Create Table'];
return $createSQL;
}
else{
echo mysql_errno() . ": " . mysql_error(). "\n";
}
}
Спасибо за ваш вклад. код не работает. Я получаю синтаксическую ошибку. Вот что я пробовал: 'SELECT' Create Table' FROM (SHOW CREATE TABLE guardi.accounts) AS s; ' –
Вот почему ответ сказал, что это не позволит! – miken32