скрипт для дампа одной записи из таблицы в mysql

Я хочу сбросить одну запись из таблицы mysql с именем table1 для id = 5.

что такое запрос mysql для того же?

Я думаю, мы можем использовать mysqldump но я использовал его с полными записями таблицы. Но как использовать его с одной записью?

5 ответов


Если вы проверяете на http://dev.mysql.com/doc/refman/5.0/en/mysqldump.html Вы найдете --где вариант, который вам нужен.

ниже следует то, что указано в этой ссылке:

--where='where_condition', -w 'where_condition'

дамп только строки, выбранные заданным условием WHERE. Кавычки вокруг условия обязательны, если оно содержит пробелы или другие символы, специальные для интерпретатора команд.

примеры:

--where="user='jimf'"
-w"userid>1"
-w"userid<1"

хотя ниже не будет работать для новой / другой базы данных

попробовать

вставить в table2 (выберите * из table1, где id = 5);

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

INSERT INTO `newdbname`.`table2` (SELECT * FROM `olddbname`.`table1` WHERE id = 5);

на самом деле, если я не ошибаюсь, можно даже вставить select между базами данных на разных серверах в mysql, добавив имя сервера перед каждым именем базы данных и таблицей как следует:

INSERT INTO `localhost`.`newdbname`.`table2` (SELECT * FROM `accessible-live-server-name`.`olddbname`.`table1` WHERE id = 5);

insert into [dbo].[LocaleStringResource]
  (LanguageId,ResourceName,ResourceValue)
select 5 as LanguageId, ResourceName, ResourceValue
from [dbo].[LocaleStringResource]
where LanguageId = 2 and id = (
  SELECT MAX(ID)
  FROM [dbo].[LocaleStringResource]
)

попробовать

INSERT INTO table2 (SELECT * FROM table1 WHERE id = 5);

используйте этот запрос " SELECT * FROM table1 где id=' 5 'LIMIT 1". Должно сработать.