MySQLを使用しています。EMPというテーブルがあり、同じスキーマ、同じ列、同じ制約を持つテーブル(EMP_TWO)をもう1つ作成する必要があります。これどうやってするの?
MySQLを使用しています。EMPというテーブルがあり、同じスキーマ、同じ列、同じ制約を持つテーブル(EMP_TWO)をもう1つ作成する必要があります。これどうやってするの?
回答:
別のテーブル構造/制約に基づいて新しいテーブルを作成するには、次を使用します。
CREATE TABLE new_table LIKE old_table;
必要に応じて、データをコピーするには、
INSERT INTO new_table SELECT * FROM old_table;
LIKEオプションに関する注意事項に注意してください:
LIKEを使用して、元のテーブルで定義された列属性とインデックスを含む、別のテーブルの定義に基づいて空のテーブルを作成します。
CREATE TABLE new_table LIKE original_table; コピーは、元のテーブルと同じバージョンのテーブルストレージ形式を使用して作成されます。元のテーブルにはSELECT権限が必要です。
LIKEはベーステーブルに対してのみ機能し、ビューに対しては機能しません。
CREATE TABLE ... LIKEは、元のテーブルに指定されたDATADIRECTORYまたはINDEXDIRECTORYテーブルオプション、あるいは外部キー定義を保持しません。
LIKEしていて、CREATEステートメントで使用できることにまったく気づいていませんでした。
CREATE TABLE new_db.new_table LIKE old_db.old_table:)
このように行ってみませんか
CREATE TABLE new_table LIKE Select * from Old_Table;
またはあなたはこのようにデータをフィルタリングすることによって行くことができます
CREATE TABLE new_table LIKE Select column1, column2, column3 from Old_Table where column1 = Value1;
新しいテーブルに同じ制約を設定するには、最初にスキーマを作成する必要があり、次にスキーマ作成用のデータを取得する必要があります
CREATE TABLE new_table LIKE Some_other_Table;
likeとselect *1つのステートメントの両方を使用することは可能ですか?エラーが発生します。また、この回答を確認してくださいstackoverflow.com/questions/10147565/create-table-like-a1-as-a2