MySql Duplicate-data запись о другой таблице - PullRequest
1 голос
/ 05 апреля 2011

У меня есть table1, table2 => все поля идентичны, за исключением того, что table2 two имеет дополнительное поле, представляющее собой FK для table1

**table1** *ID*,content,status
**table2** *ID*,content,status,tid

, поэтому tid = идентификатор таблицы.

Iнужно скопировать строку из таблицы 1 в таблицу 2, поэтому таблица 2 будет резервной копией таблицы 1.Я могу сделать это, используя mysql, затем php, затем mysql снова. Мне было интересно, можно ли найти более простое решение для mysql:)

надеюсь, оно не слишком сложное

Ответы [ 2 ]

1 голос
/ 05 апреля 2011

Если вы хотите скопировать каждую строку в table1 в table2, вы можете сделать:

INSERT INTO table2 (id, content, status, tid)
  SELECT id, content, status, id FROM b;

Если table2 не пусто, вы можете добавить предложение ON DUPLICATE KEY... виметь дело со столкновениями.

РЕДАКТИРОВАТЬ

Если вы просто хотите скопировать одну строку, вы можете добавить предложение WHERE:

INSERT INTO table2 (id, content, status, tid) 
  SELECT id, content, status, id FROM b WHERE id=123;
0 голосов
/ 05 апреля 2011
INSERT INTO table2 (content, status, tid) SELECT content, status, ID FROM table1
...