Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.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 如何在laravel中创建临时表、插入记录和检索_Php_Mysql_Laravel - Fatal编程技术网

Php 如何在laravel中创建临时表、插入记录和检索

Php 如何在laravel中创建临时表、插入记录和检索,php,mysql,laravel,Php,Mysql,Laravel,您好,朋友们,我正在尝试在laravel中创建临时表,插入记录并从临时表中检索该记录,然后删除该表 但是我的临时表不是create DB::raw(“创建临时表tbl_temp(temp_id VARCHAR(100)、tempcolumn1 VARCHAR(100)、tempcolumn2 VARCHAR(100)、tempcolumn3 VARCHAR(100)); 我的桌子结构像 螺柱台 螺柱id |螺柱名称|类别|类型| id |考试|名称| id Stud001 | xyz | cl

您好,朋友们,我正在尝试在laravel中创建临时表,插入记录并从临时表中检索该记录,然后删除该表

但是我的临时表不是create
DB::raw(“创建临时表tbl_temp(temp_id VARCHAR(100)、tempcolumn1 VARCHAR(100)、tempcolumn2 VARCHAR(100)、tempcolumn3 VARCHAR(100));
我的桌子结构像

螺柱台 螺柱id |螺柱名称|类别|类型| id |考试|名称| id Stud001 | xyz | class0001 | pri|U 0001 Stud002 | abcd | class0002 |第0001节 Stud003 | cgdd | class0003 | sup | 0001 Stud004 | ghgf | class0001 | pri|U 0001

这里的考试名称取决于班级类型,如果班级类型为

“主”然后从“主检查表”检索数据

“二级”然后从“二级考试表”检索数据

“超级”然后从“超级检查表”检索数据

Tbl_类_类型

类别类型id类别名称


class0001 |初级


class0002 |二级


class0003 |超级



初级考试表

初级考试(id |初级考试)名称 Pri0001 |初级考试


中学考试表

中学(考试)id |中学(考试)名称 SEC001 |二次耶克萨姆


超级考试桌

超级考试id超级考试名称 SUP001 |超级考试


我想搜索和排序记录种名、班级名、考试名 我在数组中检索记录,并希望在临时表中插入该记录,以便于搜索和排序。 这就是为什么我想要临时表的原因。您在SQL查询中写“临时”吗?因为“临时”不是mysql关键字,所以不起作用。
您收到了什么错误消息?

Mysql临时表仅存在于当前Mysql连接中,因此您的SQL是正确的。您无法查看或从其他连接获取结果

使用临时表的最佳方法是:

  • 创建临时表
  • 使用临时表处理逻辑
  • 获取逻辑结果,但不从临时表中获取

  • 我使用MySQL。它必须工作:

    创建表:

     Schema::create('real_temp', function (Blueprint $table) {
      $table->increments('id');
      $table->string('name');
      $table->string('airline');
      $table->timestamps();
      $table->temporary();
    });
    
    然后用类表进行操作

    DB::table('real_temp')->insert([...]);
    
    然后


    背后的想法是什么?它是用于unitest的吗?不幸的是,MySQL不允许您创建任何临时表。但是,如果您需要它的原因很充分,请详细说明问题,然后当然可以考虑一些替代方案。www.tutorialspoint.com/MySQL/MySQL-temporary-tables.htm我从这个链接引用创建临时表选项卡乐。
    Schema::drop('real_temp');