Я хочу сбросить одиночную запись из таблицы mysql с именем table1 для id = 5.
Что такое запрос mysql?
Я думаю, мы можем использовать mysqldump
, но я использовал его с полными записями таблицы. Но как использовать его с одной записью?
Я хочу сбросить одиночную запись из таблицы mysql с именем table1 для id = 5.
Что такое запрос mysql?
Я думаю, мы можем использовать mysqldump
, но я использовал его с полными записями таблицы. Но как использовать его с одной записью?
если вы проверите 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"
Хотя ниже не будет работать новая/другая база данных
Попробуйте
INSERT INTO table2 (SELECT * FROM table1 WHERE id = 5);
Все, что нужно сделать, если вставка между базами данных на одном сервере:
INSERT INTO `newdbname`.`table2` (SELECT * FROM `olddbname`.`table1` WHERE id = 5);
На самом деле, если я не ошибаюсь, можно даже вставить выбор между базами данных на разных серверах в mysql, добавив имя сервера infront каждого имени и таблицы базы данных следующим образом:
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]
)
Я просто хотел бы опубликовать более четкий ответ. Это дополняет принятый.
mysqldump -uremote_user -premote_password -hdatabase_host remote_database_name remote_table_name --where='id=1234' --skip-add-drop-table --no-create-info
Попробуйте
INSERT INTO table2 (SELECT * FROM table1 WHERE id = 5);
Используйте этот запрос "SELECT * FROM table1 WHERE id = '5" LIMIT 1 ". Должен работать нормально.