ORA-00917缺失逗号错误求助:Oracle Express插入数据失败
问题排查与解决
错误核心原因
ORA-00917: missing comma 错误的直接诱因是字符串类型字段值未用单引号包裹,导致Oracle无法正确解析语句结构:
GUESTID是varchar(14)类型,你传入的0271195927397M包含字母,属于字符串,必须用单引号包裹,否则Oracle会将其识别为无效的标识符组合,误判为缺少逗号。BOOKINGID是varchar(4)类型,传入的4011虽为数字,但作为字符串类型字段的值,严格来说也需要用单引号包裹(Oracle允许隐式转换,但遵守语法规范能避免潜在问题)。
修正后的INSERT语句
INSERT INTO GUEST VALUES ('0271195927397M', '4011', 'Elodie', 'Macquet', TO_DATE('27/11/1995', 'DD/MM/YYYY'), 'F', 23057693013, 'elodiemac@outlook.com', 'Curepipe, Mauritius');
关于CHAR类型的说明
你对GENDER字段传入的'F'是正确的。由于你定义GENDER为char(默认长度1),'F'刚好匹配定义长度,不会产生自动补空格的问题,符合CHAR类型的使用规范。
内容的提问来源于stack exchange,提问作者Lovena Ujoodha
相关产品推荐
相关产品推荐

