0

現在、mysqli を使用して新しいテーブルを作成しようとしています。テーブル「デフォルト」が存在する場合は、現在の日付と時刻に名前を変更し、存在しない場合は、デフォルトと呼ばれる新しいテーブルを作成します。現在の日付と時刻をプレーンテキストで含む以前の PHP ページから日付と時刻を取得します / 、 - 、 :. mysqli を使用してそれを行うにはどうすればよいですか?

$bk_time=$_POST['system_clock']."backup";
$conn = new mysqli($db_hostname, $db_username, $db_password);
if (mysqli_connect_errno()) {
  exit('Connect failed: '. mysqli_connect_error());
}
//check default exist
$sql = "SHOW TABLES FROM `descript`.`default`;";
if ($conn->query($sql) === TRUE) {

  $sql. = 'RENAME TABLE `default` TO `$bk_time`';
  echo 'exist';
}
else {
 echo 'not exist ';
 $sql. = 'CREATE TABLE `descript`.`default`';
}
mysqli_autocommit($conn, false);
mysqli_query($conn, $sql);
4

1 に答える 1

0

ストアド プロシージャを使用することをお勧めします。

  1. テーブルが存在するかどうかを確認するには
  2. テーブルの名前を変更するには

最初のものは次のようなものになります

IF EXISTS (
(SELECT * FROM information_schema.TABLES
    WHERE TABLE_SCHEMA = DATABASE()
    AND TABLE_NAME = _tableName))
    THEN SET _result = 0;
ELSE
    SET _result = 1;
END IF;
于 2012-11-01T14:01:42.677 に答える