2017-01-26 114 views
-1

Iは、2つのテーブルが以下にリストした:コピーのMySQL(同じデータベース内で)別のテーブルにテーブルとオートインクリメント挿入された行

表:

enter image description here

表 "wp_topic": "wp_default_topics"私がやろうとしています何

enter image description here

FO以外(wp_default_topicsからすべての行をコピーしていますr ID)から新しいテーブル(wp_default_topics)のwp_topic自動インクリメントに変更します。

私は罰金のすべてをコピーするために以下のコードを使用することができます:

INSERT INTO wp_topic SELECT * FROM wp_default_topics 

が、私はエラーウィットに終わるだろう -

"#1062キー 'PRIMARY' の重複エントリ '28'" I試してみました:

INSERT INTO wp_topic SELECT * FROM wp_default_topics ON DUPLICATE KEY UPDATE ID=VALUES(ID+1) 

しかし、エラーメッセージで終わる:

「#1064 - あなたは電子を持っていますあなたのSQL構文のrror;ライン1"

で「)+1」を近く使用する権利構文については、ご使用のMariaDBサーバーのバージョンに対応するマニュアルをチェックして、私が試してみました:

INSERT INTO wp_topic SELECT * FROM wp_default_topics ON DUPLICATE KEY UPDATE LAST_INSERT_ID(wp_topic.ID) 

しかし、私はエラーメッセージで終わります:

"#1064 - SQL構文に誤りがあります。 1行目の '(wp_topic.ID)'の近くで使用する正しい構文については、MariaDBサーバーのバージョンに対応するマニュアルを参照してください。

私は以下を試しましたが、残念ながらそれはありません。

INSERT INTO wp_topic SELECT (user_id, name, subject, company, date) FROM wp_default_topics 

「#1241 - オペランドには、1列(s)は含まれている必要があります」?私は上記のいくつかのバリエーションを試してみましたが、運が良ければなし私はここで行方不明です何にとしてのポインタを得ることができる

ありがとうございました

SELECT *

INSERT INTO wp_topic (user_id, name, subject, company, date) 
SELECT user_id, name, subject, company, date 
FROM wp_default_topics 
+0

あなたが実際にあなたのインサート内のフィールドを一覧表示し、選択した場合は、idフィールドを省略します。問題はないはずです。 – Uueerdo

答えて

3

は、あなただけの選択からidフィールドを削除できません挿入しますか?

INSERT INTO wp_topic (`user_id`, `name`, `subject`, `company`, `date`) 
SELECT `user_id`, `name`, `subject`, `company`, `date` FROM wp_default_topics 
+0

質問を開いただけで完全に答えました。 – Xorifelse

+0

はい、ありがとうBarmarは仕事をして、私は何を間違っていたかを見ます。 – Sandy

0

を使用しないで、あなたが挿入するときid列をスキップする必要があるので、あなたが明示的にすべての列をリストする必要がありデビッド

+0

2番目の質問私はあなたが '列の名前(user_id、nameなど)を使用しているが、Barmarはそうではないことに気が付いたが、コードの違いに気づいていない。 – Sandy

+0

通常、クエリは同じ方法で実行されます。この投稿にはいくつかの良い情報があります:http://stackoverflow.com/questions/261455/using-backticks-around-field-names – johnc

0

すでに示唆されていますINSERTサブselectクエリ書き込みのもう一つの少し簡単な方法:

INSERT INTO wp_topic 
SELECT NULL, user_id, name, subject, company, date FROM wp_default_topics; 
関連する問題