lep*_*leg 11 sql syntax-error insert-statement
谁能告诉我为什么这不起作用?
INSERT INTO Medical_History (pid, grafts, allergies, diseases, surgearies, treatment)
VALUES ((SELECT pid FROM Pet WHERE pet_name='Jack' AND cid=(SELECT cid FROM Customer WHERE last_name='Iwannidis' AND first_name='Giwrgos')),
'grafts', 'allergies', 'diseases', 'surgearies', treatments');
Run Code Online (Sandbox Code Playgroud)
我收到语法错误:
unrecognized token "');"
Run Code Online (Sandbox Code Playgroud)
Gor*_*off 22
该select嵌套的values语句如下错误(我不知道,所有的数据库接受它).一种更典型的表达方式是:
INSERT INTO Medical_History (pid, grafts, allergies, diseases, surgearies, treatment)
SELECT pid, 'grafts', 'allergies', 'diseases', 'surgearies', 'treatments'
FROM Pet
WHERE pet_name='Jack' AND
cid=(SELECT cid
FROM Customer
WHERE last_name='Iwannidis' AND first_name='Giwrgos'
);
Run Code Online (Sandbox Code Playgroud)
如果子查询返回多个值,这一点尤为重要.然后查询可能会出错.