Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Mysql中从现有表的选定列创建一个具有相同结构的表_Mysql_Sql - Fatal编程技术网

在Mysql中从现有表的选定列创建一个具有相同结构的表

在Mysql中从现有表的选定列创建一个具有相同结构的表,mysql,sql,Mysql,Sql,我是一个新手,我正在使用mysql。我想从现有表客户中创建一个表产品,但我只想在新表中创建客户表中选定的列,并且该表的结构也相同。例如,在customer表中有一个名为DATE的列,该列的默认值为当前时间戳,并且在更新当前时间戳时为。所以我希望这个结构也在新表中创建 我看了其他答案,但它们没有复制结构。请帮我使用这个 CREATE TABLE NEW-TAB SELECT NAME,DATE FROM OLD-TAB; 请根据您的要求更改列/表名称使用此 CREATE TABLE NEW-TA

我是一个新手,我正在使用mysql。我想从现有表客户中创建一个表产品,但我只想在新表中创建客户表中选定的列,并且该表的结构也相同。例如,在customer表中有一个名为DATE的列,该列的默认值为当前时间戳,并且在更新当前时间戳时为。所以我希望这个结构也在新表中创建

我看了其他答案,但它们没有复制结构。请帮我使用这个

CREATE TABLE NEW-TAB SELECT NAME,DATE FROM OLD-TAB;
请根据您的要求更改列/表名称

使用此

CREATE TABLE NEW-TAB SELECT NAME,DATE FROM OLD-TAB;
请根据您的要求更改列/表名称

尝试以下操作:

create table product(DATE CURRENT_TIMESTAMP,ON UPDATE CURRENT TIMESTAMP );

INSERT INTO product (DATE,ON) SELECT DATE,ON FROM customer ;

试试这个:

create table product(DATE CURRENT_TIMESTAMP,ON UPDATE CURRENT TIMESTAMP );

INSERT INTO product (DATE,ON) SELECT DATE,ON FROM customer ;


这是你能做的

  • 使用语法创建具有相同结构的新表
  • 使用语法在新表中删除不必要的列
  • 使用语法复制数据
  • 假设您的
    customer
    表如下所示

    CREATE TABLE customer
    (
      id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 
      name VARCHAR(5), 
      created DATETIME, 
      modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
      other_column INT
    );
    
    您希望创建一个新表
    customer\u new
    ,但不包含
    other\u列

    CREATE TABLE customer_new LIKE customer;
    ALTER TABLE customer_new DROP COLUMN other_column;
    INSERT INTO customer_new (id, name, created, modified)
    SELECT id, name, created, modified
      FROM customer;
    

    这里是演示

    这里是你可以做的

  • 使用语法创建具有相同结构的新表
  • 使用语法在新表中删除不必要的列
  • 使用语法复制数据
  • 假设您的
    customer
    表如下所示

    CREATE TABLE customer
    (
      id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 
      name VARCHAR(5), 
      created DATETIME, 
      modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
      other_column INT
    );
    
    您希望创建一个新表
    customer\u new
    ,但不包含
    other\u列

    CREATE TABLE customer_new LIKE customer;
    ALTER TABLE customer_new DROP COLUMN other_column;
    INSERT INTO customer_new (id, name, created, modified)
    SELECT id, name, created, modified
      FROM customer;
    

    这里是演示

    它应该是。你为什么不试着让我们知道呢。很遗憾这不起作用,兄弟:(.它没有复制结构我刚才在mysql/mariadb上试过,没有任何错误我不是说我有错误。我是说它没有复制结构。它只是复制了表名,但没有复制默认值etcdef值不能复制,你必须单独修改列。为什么不呢你试着让我们知道。遗憾的是这不起作用,兄弟:(.它没有复制结构我刚才在mysql/mariadb上试过,没有任何错误我不是说我有错误。我是说它没有复制结构。它只是复制了表名,但没有复制默认值etcdef值无法复制,就我所知,您必须单独更改列类型无法复制,您可以使用上述查询将数据从一个表复制到另一个表。据我所知,数据类型无法复制,您可以使用上述查询将数据从一个表复制到另一个表。+1是的,先生,这对我很有帮助,毫无疑问。。感谢您花费宝贵的时间。非常感谢您的帮助:)+是的,先生,这对我很有帮助,这是毫无疑问的。谢谢你花了宝贵的时间。非常感谢你的帮助:)