1

私は PDO を初めて使用し、頭を悩ませようとしています。次のコードがあります。

$sql = $conn->prepare('

CREATE TABLE IF NOT EXISTS `users` (  
`UserID` INT(25) NOT NULL AUTO_INCREMENT PRIMARY KEY ,  
`Username` VARCHAR(65) NOT NULL ,  
`Password` VARCHAR(32) NOT NULL ,  
`EmailAddress` VARCHAR(255) NOT NULL,
`Name` VARCHAR(50) NOT NULL ) ');

$sql->execute();

テーブルが正常に作成されたか、それとも既に存在していたために実行されなかったかを知る方法はありますか?

->execute() で真または偽の値を確認できることは知っていますが、この場合、テーブルが既に存在するかどうかにかかわらず、常に真であるとは限りませんか?

4

2 に答える 2

4

いいえ、まさにそれが のIF NOT EXISTS目的です。テーブルが既に存在する場合、エラーを発生させずに何もしないということです。

解決策は明らかすぎてわかりません: IF NOT EXISTS. テーブルが存在する場合、ステートメントは (構成に応じて) キャッチできる例外をトリガーします。

于 2013-02-10T22:54:54.477 に答える