Insert into Les_Mills_Customers
(
CUSTOMER_ID
,C_USERNAME
,C_TITLE
,F_NAME
,L_NAME
,C_MESSAGE
,C_ADDRESS
,C_GENDER
,C_MOBILE
,C_NOTES
,C_PAYMENT_MODE
,C_EMAIL
,C_TYPE
,C_PICTURE
,C_JOINDATE
,C_TIMETABLES
)
values
(
50
,’A_Joe’
,’Mrs’,
’Allison’
,’Joe’
,’RPM’
,’Claudelands’
,’F’
,0273252302
, ’RPM’
,’E’
,’123@gmail.com’
,'NULL'
,’NULL’
,To_DATE ('20-02-15','DD-MM-YY'),01
)
命令行错误:328列:171错误报告 - SQL错误: ORA-00917:缺少逗号 00917. 00000 - "缺少逗号" *原因:
*操作:
答案 0 :(得分:3)
INSERT 语句存在多个问题:
’A_Joe’,’Mrs’,’Allison’,’Joe’,’RPM’,’Claudelands’,’F’,0273252302,
’RPM’,’E’,’123@gmail.com’,'NULL',’NULL’,To_DATE ('20-02-15','DD-MM-YY')
您必须将字符串括在单引号中。 ’
不是单引号,'
是单引号。就像你在TO_DATE函数中使用的一样。
更好地使用YYYY
格式,否则您将重新发明 Y2K 错误。
NULL ,只需保留关键字。否则,您将它存储为字符串,而不是NULL值。
答案 1 :(得分:0)
如@Lalit所述,您必须用单引号括起字符串。通过正确设置,可以在某些数据库产品中使用双引号,但此配置与ANSI不兼容,必须避免使用。
请仅在手工制作的原始SQL语句中执行此操作。将字符串传递给已执行代码中的SQL命令将使您容易受到SQL injection attacks的攻击。使用SQL参数是正确的方法。
并注意像Sant'Anna这样的名字,其中包含撇号。撇号经常用单引号表示。在这种情况下,将撇号加倍以表示单个撇号。
INSERT INTO TABLE1 (NAME) VALUE ('Sant''Anna')
答案 2 :(得分:0)
下面是INSERT INTO
语法,请修改您的代码,插入值时出现问题,您没有使用单引号(')。
Insert into Les_Mills_Customers
(
CUSTOMER_ID
,C_USERNAME
,C_TITLE
,F_NAME
,L_NAME
,C_MESSAGE
,C_ADDRESS
,C_GENDER
,C_MOBILE
,C_NOTES
,C_PAYMENT_MODE
,C_EMAIL
,C_TYPE
,C_PICTURE
,C_JOINDATE
,C_TIMETABLES
)
values
(
50
, 'A_Joe'
, 'Mrs'
, 'Allison'
, 'Joe'
, 'RPM'
, 'Claudelands'
, 'F'
, 0273252302
, 'RPM'
, 'E'
, '123@gmail.com'
, NULL
, NULL
, To_DATE ('20-02-15','DD-MM-YY')
, 01
)