是否可以从mysql中选择,以便结果是insert语句?
我必须将“一些行”从我的在线数据库传输到我的开发工作站。这总是很多手工工作。
如果我能以某种方式,那将是伟大的:
select * from mytable where mycondition=myvalue AS SQL INSERT
并会得到类似
的内容INSERT INTO mytable VALUES ( 1, 'foo' );
INSERT INTO mytable VALUES ( 2, 'bar' );
...
这可以用来复制并粘贴到我的本地数据库中。是(或类似的东西)可能吗?
编辑:我正在寻找一种简单/懒惰的解决方案,不需要太多努力。 EDIT2:mysqldump --where
解决方案适用于我的问题和80%的“真实世界”用法,所以感谢您的回答。如果我可以使用完整的查询来选择行,那么我仍然可以使用连接或更改值。
答案 0 :(得分:2)
是。您需要mysqldump
实用程序才能完成此操作。
答案 1 :(得分:2)
使用CONCAT
构建INSERT
语句:
SELECT CONCAT("INSERT INTO mytable VALUES(", id, ", '", somecolumn, "');\n") AS sql_insert
FROM mytable
WHERE mycondition = myvalue