朋友们,我试图在laravel中创建临时表并插入记录并从临时表中检索该记录,然后删除表。
但我的临时表并非创造
DB::raw("CREATE TEMPORARY TABLE tbl_temp(temp_id VARCHAR(100),tempcolumn1 VARCHAR(100),tempcolumn2 VARCHAR(100),tempcolumn3 VARCHAR(100)) ;
我的表格结构如
Stud_table Stud_id | stud_name | class_type_id | exam_name_id Stud001 | xyz | class0001 | pri_0001 Stud002 | abcd | class0002 | sec_0001 Stud003 | cgdd | class0003 | sup_0001 Stud004 | ghgf | class0001 | pri_0001
如果类类型
,这里的exam_name依赖于class_type_id“primary”然后从“primary_exam_table”
中检索数据“辅助”然后从“Secondary_exam_table”
中检索数据“超级”然后从“Super_exam_table”
中检索数据Tbl_class_type
class_type_id | CLASS_NAME
class0001 | primary
class0002 |中学
class0003 |超级
primary_exam_table
primary_exam_id | priexam_name Pri0001 | primaryexam
Secondary_exam_table
Secondary_exam_id | secexam_name sec0001 | secondaryyexam
Super_exam_table
Super_exam_id | superexam_name Sup0001 | superexam
我想搜索并排序记录stud_name,class_name,exam_name 我在数组中检索记录,我想在临时表中插入该记录,使我的搜索和排序变得容易。 这就是为什么我想要临时表
答案 0 :(得分:1)
我使用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([...]);
然后
Schema::drop('real_temp');
答案 1 :(得分:0)
你写" TEMPORARY"在你的SQL查询?因为" TEMPORARY"不是一个mysql关键字,所以不会工作。 你有什么错误信息?
答案 2 :(得分:0)
Mysql临时表只存在于当前的MySQL连接中,所以你的SQL是正确的。你只是看不到或从另一个连接得到结果。
使用临时表的最佳方法是: