我想在MySQL中复制一个表.什么是最快的方式?像这样?
CREATE TABLE copy LIKE original;
INSERT INTO copy SELECT * FROM original;
Run Code Online (Sandbox Code Playgroud)
要么
CREATE TABLE copy SELECT * FROM original;
ALTER TABLE copy ADD PRIMARY KEY (id);
Run Code Online (Sandbox Code Playgroud)
还是有另一种方式?
编辑:我担心重新创建索引,mysql如何继续执行这些语句?
PS.不能使用像mysqldump这样的命令行工具,必须是即时的.
有没有办法在ncurses上取回输出到变量的字符?
让我说我做:
printw("test");
Run Code Online (Sandbox Code Playgroud)
那么我希望能够:
somefunc(strbuffer);
printf("%s",strbuffer); // test
Run Code Online (Sandbox Code Playgroud)
我需要一个函数来将屏幕上的所有字符恢复为变量,scr_dump得到关闭但输出格式不可读.
我目前正在使用我的工厂:
public class AbstractFactory
{
public static AbstractHeader parseHeader(File file)
{
if(AFactory.canRead(file))return AFactory.parseHeader(file);
if(BFactory.canRead(file))return BFactory.parseHeader(file);
throw new UnsupportedOperationException("File ["+file+"] not supported");
}
public static AbstractContent parseContent(AbstractHeader h)
{
if(h instanceof AHeader){
return AFactory.parseContent((AHeader) h);
}
if(h instanceof BHeader){
return BFactory.parseContent((BHeader) h);
}
throw new UnsupportedOperationException("Header not supported");
}
}
Run Code Online (Sandbox Code Playgroud)
parseHeader()将返回AHeader或BHeader的实例,并在稍后的时间内请求AbstractContent.有一个更好的方法吗 ?躲开检查实例?