Java 尝试在5.7版本的MySQL空表上写入某些数据时出错
我试图在使用下面的CREATE语句结构定义的空MySQL表上写入一些记录:Java 尝试在5.7版本的MySQL空表上写入某些数据时出错,java,mysql,sql,Java,Mysql,Sql,我试图在使用下面的CREATE语句结构定义的空MySQL表上写入一些记录: CREATE TABLE `table_1` ( `full_name` varchar(45) DEFAULT NULL, `gender` varchar(45) DEFAULT NULL, `age` int(11) DEFAULT NULL, `birthdate` datetime DEFAULT NULL, `email` varchar(45) DEFAULT NULL, `addr
CREATE TABLE `table_1` (
`full_name` varchar(45) DEFAULT NULL,
`gender` varchar(45) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
`birthdate` datetime DEFAULT NULL,
`email` varchar(45) DEFAULT NULL,
`address` varchar(255) DEFAULT NULL,
`mobile_phone` varchar(45) DEFAULT NULL,
`entry` varchar(255) DEFAULT NULL,
`lat` float DEFAULT NULL,
`long` float DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
要写入的单个记录的类型如下所示:
|abdullah mun'im|abdullah_munim@test.com|0176028950|lot 4257, jln bunga raya 2, kg. sg. kelambu, 42700 banting|it would be awesome to drink water with bes-drink in this hec'drink'c event. don't scared of frozen yogurt, nobody will get hurt. ? |male|2.7861321|101.5541346|1993-07-28|26|
这是发生的错误:
错误数据库写入程序0:187:309:208:228执行失败:
java.lang.Exception:添加第2行(第0行)时出错,原因:您
SQL语法有错误;检查相应的手册
您的MySQL服务器版本,以便使用正确的语法(接近“long”)
价值观('abdullah mun'im','male',26',1993-07-28',
“阿卜杜拉_munim@test“在1号线
有人能解释一下怎么回事吗?因为在我看来,该版本的MySQL服务器的语法是正确的。您的表中有一个名为
long
的列,这是MySQL中的保留关键字,请用另一个名称替换它,或者在查询中用反勾将其括起来。可能重复的“在我看来,语法是正确的"…很明显,这是不可能的,否则你就不会出错。拒绝接受事实并不会降低事实的真实性。但我们无法帮助你解决问题,因为你既没有向我们展示查询本身,也没有向我们展示生成查询的代码。@ADyson可能你误解了我的话。。我不是有意拒绝承认我的过程是错误的ong.无论如何,我的问题是由保留关键字引起的。@MadhurBhaiya我认为您建议的答案并不代表我的问题。因为它是关于保留关键字的。不是引号、双引号或反勾号。@UgoL您在保留关键字周围使用反勾号。甚至最好不要对列/表名使用保留关键字。谢谢你!这正是我的问题。我现在通过将long
更改为lng
进行了修复,一切正常。是否有保留的关键字列表页?每次创建新的空表时,我是否需要查看它们以避免将来出现此问题?@UgoL,