MySQL含空格列名查询报错,如何正确选择无下划线列名?
含空格列名的正确查询方式
当列名包含空格时,数据库会将空格视为列名的分隔符,直接执行SELECT Segment Type FROM results;会被解析成查询Segment和Type两个列,因此触发报错。针对不同数据库,正确写法如下:
- MySQL/MariaDB:用反引号(`)包裹含空格的列名
SELECT `Segment Type` FROM results; - SQL Server:用方括号([])包裹含空格的列名
SELECT [Segment Type] FROM results; - PostgreSQL/Oracle:用双引号("")包裹含空格的列名
SELECT "Segment Type" FROM results;
这些符号的作用是将带空格的列名标记为一个完整的标识符,避免数据库将其拆分为多个字段。
内容的提问来源于stack exchange,提问作者Mornay Marais
相关产品推荐
相关产品推荐

