20

このSQLをデータベース名symfonyにインポートしようとしています

CREATE TABLE IF NOT EXISTS ingredient (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1;

そして私は得る

#1146 - Table 'symfony.ingredient' doesn't exist

ここでこのテーブルを作成しようとしているので、これはかなり奇妙に思えます。なぜ...うまくいかないのですか? 試してみると同じ問題があります

CREATE TABLE symfony.ingredient

またはsymfony 2の機能

c:\Dev\Symfony>php app/console doctrine:schema:create

PS: この問題は、新しいバージョンの xampp でのみ発生します。

編集

さて、私は何とか私の問題を解決することができました。私は自分のデータベースを削除し、(インターフェイスを使用せずに) データベースを作成し、最後に mysql サービスを再起動しました。なぜ、どのように動けなくなったのかはわかりませんが、これが誰かの助けになることを願っています。

4

7 に答える 7

19

私も同じ問題を抱えていました。私の解決策:テーブル作成クエリでテーブル名を変更し、それを実行してから、テーブルの名前を変更します。

次に、このテーブルを削除して、エラーを発生させずに作成することもできます。

于 2012-06-07T04:15:48.973 に答える
11

私にとってうまくいったのは:

  • フォルダー xampp/mysql/data/database-name/ に移動します
  • ファイルのみが表示され.frmます。空のテーブルのファイル.MYDとファイルがありません。.MYI
  • ファイルを削除し.frmます。
  • MySQL プロセスを停止し、再起動します。
  • その後、テーブルを作成することができました。

古いバージョンの xampp は、MyISAM 形式でテーブルを作成し、新しいバージョンを InnoDB として作成しました!

于 2012-07-14T11:53:41.070 に答える
2

私はこれと同じ問題を抱えていました。テーブルを作成するときに「サーバーが消えました」というメッセージが表示され、その後、テーブルが存在しないというメッセージが表示されましたが、テーブルが存在するというメッセージが表示されたため、テーブルを再作成できませんでした。コマンドラインでこれを実行して解決しました:

mysqlcheck --repair --all-databases -u root -p

念のため、この後に mysql サーバーを再起動しても問題ありません。

于 2015-03-29T01:51:53.677 に答える
0

うーん、データベースがあり、CREATE ステートメントを実行する権限がありますか?

phpmyadmin がある場合:

最初の可能性をテストするには、新しい (空の) テスト データベースを作成し、メニューでそれをクリックしてから、上部のナビゲーションで SQL ボタンを押し、ステートメントをもう一度コピーして貼り付けます。これでうまくいかない場合は、2番目を試してください。

次に、[ホーム] ボタンをクリックして、[権限] に移動します。アカウントが 2 つまたは 3 つしかなく、すべてが root 権限を持っている場合、CREATE を実行する権限があります。それ以外の場合は、アカウントを確認して、自分に権限を与えることができます。

両方の可能性がうまくいかなかった場合、私にもわかりません。それは私にとってはうまくいきました:(

于 2011-11-15T20:13:26.417 に答える
0

同じ問題がありました: #1146 - テーブル 'tutsplus_ci.posts' が存在しません。次の手順に従って、この問題を解決しました。

問題のあるテーブルをSQLファイルにエクスポートしました。.sql ファイルのテーブル名の末尾に補助スペースがあることに気付きました。テーブルの Operations セクションで phpmyadmin に戻り、テーブルの名前を「posts」から「posts」に変更します。これらすべてのアクションを実行した後、エラーは表示されませんでした。

結論として、エラー メッセージが示すように、実際にテーブル '投稿' は存在しませんでした。テーブルの実際の名前は「posts」ではなく「posts」だったためです。名前の前のスペースは phpmyadmin では気付きにくいです。これが話です。特にない。それが役立つことを願っています!

于 2015-01-08T09:11:04.683 に答える
0

phpadmin でデータベースに移動し、SQL でテーブルをドロップします。次に、テーブルを作成します。

于 2020-01-17T11:41:35.037 に答える