this is incompatible with sql_mode=only_full_group_by,出现该错误,不用配置数据库,就是SQL逻辑写错了,SQL的逻辑有问题
select 1 from employee 查询出的表是什么样子的?
当employee的表有多少行,就会生成列名为1,行数与表行相同的数量的1。
作用是在表旁生成新的一列
当查询出的两张表的数据,两张表的数据的列完全相同。如何选出两张表的相同的数据
EXISTS的运用
select 1 from a where tel_no=b.tel_no 只是作为一个判断的依据,就是为了判断出a的某列数据在b中是否存在,存在的话就会返回TRUE,否则返回FALSE。返回TRUE的数据就会查询到新的表上,返回FALSE就会直接舍弃。
The definition of table 'noSalary' prevents operation UPDATE on table 'employees'.
错误原因:创建了视图,当提前创建好视图之后,后面修改视图中的列数据时,会发生修改错误。
解决方法:不创建视图,直接嵌入多条SQL语句
MySQL之You can't specify target table for update in FROM clause解决办法
原因:在修改表的同时,又查询了原表,解决方法将查询语句全部再次嵌套一层select,注意不仅是在from后面的语句进行嵌套,注意在set后面的语句也要嵌套(如果有查询语句的话)
mysql中增加、修改、删除列
增加列
alter table emp_temp ADD column sex varchar(1) ;
修改列
alter table emp_temp MODIFY sex VARCHAR(10);
删除列
alter table emp_temp DROP COLUMN sex