我们使用navicat for Mysql工具编写SQL时,查询出来的数据并不能直接进行修改操作,只能再次打开表找到需要修改的数据进行修改数据,但有些时候表字段比较多,且表中的数据量也比较大,我们并不能快速定位到需要修改的那条记录。这个问题困扰了不少同学。今天,小编就在这里教教大家,如何在新建查询时对查询的结果进行修改。

首先,我们来看看问题的现象。原来的sql语句如下:

SELECT
	jobName,
	jobGroup,
	jobStatus,
	cronExpression,
	description,
	beanClass,
	springId,
	methodName,
	createTime,
	updateTime 
FROM
	`schedule_job`;

结果如下: 

如果表中没有设置或添加一列作为primary key(主键)的话,是无法直接进行修改操作的。

解决办法:我们只需要添加或设置一列id,并设置为primary key并且自动递增,就可以进行修改操作了。

在上述SQL中,我们需要在SQL上稍作改动就可以在新建查询窗口直接对数据进行修改了,在SQL中加上对主键Id字段或将select后面的查询的条件改为【*】就可以了。

SQL语句如下:

SELECT
	jobId,
	jobName,
	jobGroup,
	jobStatus,
	cronExpression,
	description,
	beanClass,
	springId,
	methodName,
	createTime,
	updateTime 
FROM
	`schedule_job`;

或者 

SELECT
	* 
FROM
	`schedule_job`;

添加ID查询后的结果如下图所示: 

这时候却发现【只读】属性不见了 ,那么我们就可以对在查询窗口对数据进行修改了。

那么问题来了,这只是对单表的操作,若是对多张表关联查询,查询的结果是否还能在查询窗口进行修改操作呢?能?为什么?不能?又为什么?

最后这个问题就留给大家去讨论吧,欢迎大家在评论区进行讨论与留言。

Logo

更多推荐