Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.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
Php 从现有的table1 mysql创建表_Php_Mysql - Fatal编程技术网

Php 从现有的table1 mysql创建表

Php 从现有的table1 mysql创建表,php,mysql,Php,Mysql,在mysql中有没有一种方法可以实现下面这样的功能 如果表存在,则使用where条件插入表1中的数据 若表不存在,则使用相同的架构和数据创建新表 在给定where条件下 将根据PHP代码的某些条件生成新表 需要查询一下 我试过下面这样做,但不起作用。我知道mysql中有一些方法可以通过一些好的查询来实现这一点 CREATE TABLE SCHEMA.new_accounts if not exists AS ( SELECT * FROM SCHEMA.accounts) WITH NO DAT

在mysql中有没有一种方法可以实现下面这样的功能

  • 如果表存在,则使用where条件插入表1中的数据
  • 若表不存在,则使用相同的架构和数据创建新表 在给定where条件下
  • 将根据PHP代码的某些条件生成新表 需要查询一下
  • 我试过下面这样做,但不起作用。我知道mysql中有一些方法可以通过一些好的查询来实现这一点

    CREATE TABLE SCHEMA.new_accounts if not exists AS ( SELECT * FROM SCHEMA.accounts) WITH NO DATA
    

    下面是我的工作:

    CREATE TABLE IF NOT EXISTS `new_accounts` LIKE `accounts`;
    
    对于数据插入,您可以在sql下运行,条件是:

    INSERT INTO `new_accounts` SELECT * FROM `accounts` WHERE column=1;
    

    希望这能在某种程度上解决您的问题。

    这可能是重复的:@RameshMhetre它不是该问题的重复,因为在该问题上,我看不到创建表的任何if条件。我知道如何像创建另一个表一样创建表,但如果条件不是,我就无法像创建表那样创建表
    创建表`new\u accounts`如果不存在,比如`accounts`
    您要查找的内容,几乎完全一样,重复链接?在我的数据库帐户表中,每次都存在,但新的\u帐户将使用相同的模式和基于查询的某些模式创建,如不存在,则创建表new \u accounts作为select*from accounts,其中id>=100,否则插入到new \u accounts作为select*from accounts,其中id>=100谢谢回复,这对我来说也是可行的,但我正在寻找将两个查询组合成单个查询的方法。这可能吗?我认为这是不可能的。我建议检查应用程序代码中的条件,而不是sql。您可以在此处检查另一个线程: