INSERT INTO `memtab1` (`id`,`name`) ( SELECT `id`,`name` FROM `table1` -- 简化查询语句 WHERE NOT EXISTS (SELECT `id` FROM `memtab1`) ); SELECT * FROM `memtab1`; 代码已简化。 因查询语句比较复杂低效,想用内存表memtab1做缓存,用触发器实现table1变化后清空memtab1,查询时如果memtab1为空就从table1读取数据插入memtab1再返回,如果memtab1不为空就直接返回。 但是将上面代码写入数据集,执行时报错(见下图),请问能不能解决?谢谢! |