mysql - 为什么即使表中不存在该列,sql 也会给出结果?

标签 mysql sql

我在 SQLite3 中使用 MySql,我只想检查表中是否存在列? 为此,我使用命令 Select and try Catch 但每当我以 1,'2' "3"这样的数字给出列名称时,它会返回具有相同数字(如 1,2 ,3 )的列,而不显示错误,为什么?

select 20 from Student;

20
20
20
20
20
20

显示 20 直到我的实际学生表中存在行数。

最佳答案

我了解到用数值设置列名并不是一件好事,但是如果您的列名确实是数值,则应该在查询中添加反引号\反引号。例如:

SELECT `20` FROM Student;

这样,如果该列不存在,您将收到以下错误:

Error Code: 1054
Unknown column '20' in 'field list'

关于mysql - 为什么即使表中不存在该列,sql 也会给出结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56231746/

相关文章:

mysql - 在 PHP7 中,清理包含文件名的 UTF8 字符的最佳方法是什么?

php - MySQL 查询语句转换为 Codeigniter Active record 样式查询语句,带有 SUM()

sql - Oracle timestamp with timezone in where 子句问题

sql - ORACLE (11.2.0.1.0) - 带有日期表达式的递归 CTE

MySQL 5.1.7 两个表的条​​件联接从第二个表中按日期选择顶部记录以及第一个表中的所有记录

MySQL 服务器版本,用于在第 1 行 'type=heap' 附近使用正确的语法

mysql - 在 MySQL 中的一张表上使用两个联接?

mysql - 有没有办法在从 MySQL 中的文件加载数据时插入自定义数据?

sql - 我怎样才能在 Postgres 9.5 中做一些更新插入

java - JOOQ:一次性删除记录列表?