PHP、PDO、および MySQL を使用してテーブルを作成しようとしています。私のアプリケーションのニーズでは、テーブルの名前は変数でなければなりません。
これが私のコードです:
$request = $pdo->prepare("CREATE TABLE IF NOT EXISTS :table (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`parent_id` bigint(20) unsigned NOT NULL,
`position` bigint(20) unsigned NOT NULL,
`left` bigint(20) unsigned NOT NULL,
`right` bigint(20) unsigned NOT NULL,
`level` bigint(20) unsigned NOT NULL,
`title` text CHARACTER SET utf8 COLLATE utf8_unicode_ci,
`type` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
`content` text CHARACTER SET utf8 COLLATE utf8_unicode_ci,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;");
$request->execute(array(
'table'=>$uuid));
MySQL ステートメントで ":table" を使用できませんか?? 現在私は書いた:
[...]
CREATE TABLE IF NOT EXISTS `$uuid`
[...]
これは機能しますが、私には奇妙に聞こえます ^^' これが私の問題の唯一の解決策ですか?