为什么MySql数据库表真实存在,却提示字段不存在 Unknown column your_field_name in field list
发布:智码IT网 阅读:
表tb1下有字段F1和staff_remark,如图所示:
通过SQL脚本查询一下
SELECT F1,staff_remark FROM tb1
结果报错:> 1054 - Unknown column 'staff_remark' in 'field list',如图所示:
奇怪了,难道字段名写错了,通过复制字段的方法,再次执行,仍然报同样的错误。
再猜,难道是查错表了,给F1值修改为125,通过脚本 SELECT F1 FROM tb1 只查F1字段,如图所示
查询结果显示F1字段变了,说明表名没有写错。这就奇怪了,表和字段都没有错呀。
通过脚本SHOW CREATE TABLE tb1查看一下表的定义,结果如下:
CREATE TABLE `tb1` (
`F1` tinyint(4) DEFAULT NULL,
` staff_remark` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
原来是表名中包含了空格。使用SELECT F1,` staff_remark` FROM tb1脚本查询,就不报错了。实际工作中,应该避免在表名中出现空格的情况。