所以每当我触发创建查询时,似乎都有一个隐藏的“?”如果字符潜伏在某个地方,它会添加到第一个属性名称的前面。在尝试使用/不使用“?”访问此属性时,我不断收到错误:在字段列表中找不到列。
我尝试了 create 语句的各种语法糖,一种是 `,一种是 ',create 语句后面有空格。基本上,每一种组合似乎都不起作用。另外,尝试重新启动数据库服务器,但没有帮助。
create table IF NOT EXISTS temp(usercode varchar(20));
最佳答案
所以我自己设法得到了答案。当您的应用程序涉及文件操作时,有时会在属性名称中附加一个额外的字符“/ufeff”。尽管可以在 Sublime/Notepad++ 中看到该字符,但该字符在标准代码编辑器中显然不可见。因此,当问题很明显时,我将 create 语句中的列名称替换为:
column_name.replaceAll("/ufeff", "");
这解决了问题,这显然是 Microsoft Office 的错误,与 SQL 函数的方式无关。
关于mysql - CREATE 语句总是创建一个 ?在关系的第一个属性名称前面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55581039/