Unknown column 't_user.id' in 'where clause'(通过字段名删除不了数据)
创建员工信息表t_user
CREATE TABLE t_user(
id INT PRIMARY KEY AUTO_INCREMENT,
useame VARCHAR(20) ,
password VARCHAR(20) ,
age int ,
phone VARCHAR(20) ,
email VARCHAR(20) ,
is_Delete int
)DEFAULT CHARSET=UTF8;
往员工表中插入数据:
INSERT INTO t_user VALUES(null,'张三','123456',23,'110','11111@qq.com',1),(null,'历史','123456',23,'110','11111@qq.com',1),(null,'孙悟空','123456',23,'110','11111@qq.com',2),(null,'李白','123456',23,'110','11111@qq.com',2),(null,'八戒','123456',23,'110','11111@qq.com',2);
问题:发现用delete from t_user where id=6;这个语句删除不了,其它字段名也试过了也不行,如下:
mysql> select * from t_user;+----------+----------------+----------------+-----------+-------------+--------------+-----------------+| id| useame| password| age| phone| email| is_Delete|+----------+----------------+----------------+-----------+-------------+--------------+-----------------+|1 | 唐僧| 123456 |23 | 110 | 11111@qq.com |2 ||2 | 张三| 123456 |23 | 110 | 11111@qq.com |1 ||3 | 历史| 123456 |23 | 110 | 11111@qq.com |1 ||4 | 孙悟空 | 123456 |23 | 110 | 11111@qq.com |2 ||5 | 李白| 123456 |23 | 110 | 11111@qq.com |2 ||6 | 八戒| 123456 |23 | 110 | 11111@qq.com |2 |+----------+----------------+----------------+-----------+-------------+--------------+-----------------+6 rows in set (0.00 sec)mysql> mysql> delete from t_user where id=6;ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'delete from t_user where id=6' at line 1mysql> delete from t_user where id='6';ERROR 1054 (42S22): Unknown column 'id' in 'where clause'mysql> delete form t_user where id=6;ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 't_user where id=6' at line 1mysql> delete from t_user where id=6;ERROR 1054 (42S22): Unknown column 'id' in 'where clause'mysql> delete from t_user where useame='八戒';ERROR 1054 (42S22): Unknown column 'useame' in 'where clause'mysql> delete from t_user where t_user.id=6;ERROR 1054 (42S22): Unknown column 't_user.id' in 'where clause'mysql>
然后发现是表中的字段名有空格,正常的没空格的如下:
mysql> select * from dept;+----+--------+| id | name|+----+--------+| 1 | 神仙|| 2 | 妖怪|+----+--------+
字段名出现空格的话,通过字段名进行数据操作的时候要给字段名添加单引号,如下:
mysql> delete from t_user where 'id'=6;Query OK, 0 rows affected, 1 waing (0.07 sec)
作者:滑稽的鼠标
来源链接:https://www.cnblogs.com/package-java/p/10494380.html
版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。
2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。