我的查询存在问题。我花了将近一个小时的时间来尝试纠正它,但仍然出现错误。
这是我的代码:
sql = "INSERT INTO tbl_case \n" +
"(Case_ID, Employee_ID, Patient_ID, Chief_Complaint, Date) \n" +
"VALUES \n" +
"(\n" +
" '',\n" +
" 'EMP0001',\n" +
" '(SELECT Patient_ID from tbl_patient WHERE ID_no = '"+getPatient_ID()+"')',\n" +
" '"+txtcc.getText()+"',\n" +
" '"+time+"'\n" +
")";
dp.sop("Query 'Create Case': "+sql);
dp.Insertion(sql);
注意:
dp
代表我继承其方法的类。 dp.Selection
是我为检索数据而创建的简单executeQuery。 dp.Insertion
用于更新。这是字符串查询的输出:
Query 'Create Case': INSERT INTO tbl_case
(Case_ID, Employee_ID, Patient_ID, Chief_Complaint, Date)
VALUES
(
'',
'EMP0001',
'(SELECT Patient_ID from tbl_patient WHERE ID_no = '10000201117')',
'Head Ache',
'2016-01-30 09:55:27'
)
该错误是附近的mysql语法错误:
'10000201117)',
'Head Ache',
'2016-01-30 10:07:08'
)' at Line 7
有人发现有什么问题吗?我正在从xampp使用mysql。
最佳答案
由于(SELECT Patient_ID from tbl_patient WHERE ID_no = '10000201117')
用单引号引起来,因此您可能希望尝试将10000201117用双引号引起来。
例如:'(SELECT Patient_ID from tbl_patient WHERE ID_no = "10000201117")'