-2

あるテーブルから別のテーブルにフィールドをコピーする必要があります。

最初のテーブルは phpbb_karma と呼ばれ、2 番目のテーブルは smf_log_karma です

次の構造が必要です。

user_id -> id_executor
poster_id -> id_target
log_time -> karma_time
action -> karma_action

次のクエリを実行しました。

INSERT INTO
`smf_log_karma`
(`id_executor`, `id_target`, `log_time`, `action`)
SELECT
(`user_id`, `poster_id`, `karma_time`, `karma_action`)
AS
`id_executor`, `id_target`, `log_time`, `action`
FROM
`phpbb_karma`

そして戻ってきた

#1241 - Operand should contain 1 column(s)

どんな助けでも感謝します、ありがとう。

4

7 に答える 7

0

すべてのフィールドではなく、いくつかのフィールドをコピーしたいということですか? もしそうなら、構文で「値」を使用するのを忘れたと思います。それが理由です。insert into .... (...) values select ....を使用する必要があります。

于 2013-07-04T08:39:00.380 に答える
0

すべての行をコピーするには、次のものが必要です。

INSERT INTO smf_log_karma 
(id_executor, id_target, log_time, action)
SELECT user_id, poster_id, karma_time, karma_action
FROM
phpbb_karma
于 2013-07-04T08:42:02.700 に答える
0

私はデータ移行のチーム メンバーです。

このクエリを試して、うまくいったかどうか教えてください。

INSERT INTO `smf_log_karma`
(
     `id_executor`,
     `id_target`, 
     `log_time`, 
     `action`
)
SELECT
     `user_id`, 
     `poster_id`, 
     `karma_time`, 
     `karma_action`
FROM
`phpbb_karma` AS T1
where T1.user_id
not in (select `id_executor` from `smf_log_karma`)
于 2013-07-04T10:14:13.727 に答える
0

これが必要ですが、選択では列の命名は必要ありませんが、役に立ちます

enter code here
 INSERT INTO smf_log_karma
     (id_executor,
      id_target,
      log_time,
      action)
 SELECT
      user_id as id_executor,
      poster_id as id_target,
      karma_time as log_time,
      karma_action as action
 FROM phpbb_karma

ここで実際の動作を見ることができます

于 2013-07-04T08:45:05.663 に答える