mysqldump专门用于构造等价的SQL语句,以便在当前状态下重新创建现有数据库。这当然可以解释为什么所有东西都指向它。我还没有完全理解您发送给我的代码,所以它可能只是我,但似乎仍然很奇怪,source没有相反的内容。虽然我知道这可能是复杂的建设,但它仍
mysqldump专门用于构造等价的SQL语句,以便在当前状态下重新创建现有数据库。这当然可以解释为什么所有东西都指向它。我还没有完全理解您发送给我的代码,所以它可能只是我,但似乎仍然很奇怪,source没有相反的内容。虽然我知道这可能是复杂的建设,但它仍,mysql,mysqldump,command-prompt,Mysql,Mysqldump,Command Prompt,mysqldump专门用于构造等价的SQL语句,以便在当前状态下重新创建现有数据库。这当然可以解释为什么所有东西都指向它。我还没有完全理解您发送给我的代码,所以它可能只是我,但似乎仍然很奇怪,source没有相反的内容。虽然我知道这可能是复杂的建设,但它仍然看到令人惊讶的。这确实是我必须注销以转储数据库的情况吗?在任何实际意义上,是的。此外,尽管如此,谈论“源代码的倒数”有点像试图用零除,尽管。。。因为source与mysqldump并不完全相反。。。您可以创建一个包含任意SQL语句的文本文件,
mysqldump
专门用于构造等价的SQL语句,以便在当前状态下重新创建现有数据库。这当然可以解释为什么所有东西都指向它。我还没有完全理解您发送给我的代码,所以它可能只是我,但似乎仍然很奇怪,source
没有相反的内容。虽然我知道这可能是复杂的建设,但它仍然看到令人惊讶的。这确实是我必须注销以转储数据库的情况吗?在任何实际意义上,是的。此外,尽管如此,谈论“源代码的倒数”有点像试图用零除,尽管。。。因为source
与mysqldump
并不完全相反。。。您可以创建一个包含任意SQL语句的文本文件,source
将尽职尽责地将这些语句发送到服务器执行。还原转储文件只是source
可以使用的功能之一,而mysqldump
则专门用于构造等价的SQL语句,以精确地在当前状态下重新创建现有数据库。
my_snprintf(query, sizeof(query), "SHOW CREATE TABLE %s", result_table);
if (opt_drop_trigger)
fprintf(sql_file, "/*!50032 DROP TRIGGER IF EXISTS %s */;\n", (*show_trigger_row)[0]);
fprintf(sql_file,
"DELIMITER ;;\n"
"/*!50003 SET SESSION SQL_MODE=\"%s\" */;;\n"
"/*!50003 CREATE */ ",
(*show_trigger_row)[6]);
if (write_data)
{
if (opt_replace_into)
dynstr_append_checked(&insert_pat, "REPLACE ");
else
dynstr_append_checked(&insert_pat, "INSERT ");
dynstr_append_checked(&insert_pat, insert_option);
dynstr_append_checked(&insert_pat, "INTO ");
dynstr_append_checked(&insert_pat, opt_quoted_table);
if (complete_insert)
{
dynstr_append_checked(&insert_pat, " (");
}
else
{
dynstr_append_checked(&insert_pat, " VALUES ");
if (!extended_insert)
dynstr_append_checked(&insert_pat, "(");
}
}
while ((row= mysql_fetch_row(result)))
{
if (complete_insert)
{
if (init)
{
dynstr_append_checked(&insert_pat, ", ");
}
init=1;
dynstr_append_checked(&insert_pat,
quote_name(row[SHOW_FIELDNAME], name_buff, 0));
}
}
num_fields= mysql_num_rows(result);
mysql_free_result(result);