2017-02-03 5 views
0

mysqlで以下のようにする方法はありますか?既存のtable1からテーブルを作成するmysql

  1. 表がある場合、テーブルは条件
  2. 新しいテーブルがいくつかに基づいて生成される場所を与えられたと同じスキーマとデータ で新しいテーブルを作成するよりも、存在しない場合はWHERE条件
  3. でTABLE1のデータを挿入するよりも、存在していますPHPコードの条件。 はそのためのクエリが必要です。

私は以下のようにしようとしましたが、動作しません。私はいくつかの良いクエリを使用してこれを達成するためのいくつかの方法があることを知っています。以下は

CREATE TABLE SCHEMA.new_accounts if not exists AS (SELECT * FROM SCHEMA.accounts) WITH NO DATA 
+0

であなたの問題を解決しますこれの複製:http://stackoverflow.com/questions/3004876/mysql-query-to-copy-the-structure-of-a-table-to-create-another-tabl e –

+0

@RameshMhetreその質問の重複していないので、私はテーブルを作成するための条件を参照してくださいすることはできません。私は別のテーブルのようにテーブルを作成する方法を知っていますが、条件がある場合にテーブルを作成する方法は同じです。 –

+0

'CREATE TABLE \' new_accounts \ '存在しない場合は' accounts \ ''あなたが探しているもの、その嘘はリンクされているのとまったく同じですか? – Qirel

答えて

0

私のために働いている:データの

CREATE TABLE IF NOT EXISTS `new_accounts` LIKE `accounts`; 

あなたが条件で、SQLの下に実行することができます挿入します

INSERT INTO `new_accounts` SELECT * FROM `accounts` WHERE column=1; 

希望これは可能性のあるいくつかのレベル

+0

返信ありがとう、その私のために働いても、私は両方のクエリの組み合わせを単一のクエリに探しています。それは可能ですか? –

+0

これは可能ではないと思います。私は、SQLの代わりにあなたのアプリケーションコードの状態を確認することをお勧めします。あなたはここに別のスレッドをチェックすることができます:http://stackoverflow.com/questions/21409628/mysql-insert-into-table-if-table-exists-otherwise-create-table –

+0

reply.Okayありがとう –

関連する問題