这个MySQL查询有什么问题,我该如何解决呢?
SELECT f.uniqueidentifier FROM db.engine4_passport_userforms uf
INNER JOIN db.engine4_passport_forms f ON uf.form_id = f.form_id
WHERE uf.user_id = 10
INSERT INTO db.engine4_passport_registrationchildren (parentid, `First Name`, Surname, Relationship) VALUES ( f.uniqueidentifier, '', '', '')
INSERT INTO db.engine4_passport_registrationcontactdetails (Address, Telephone, UID, Postcode) VALUES ('3 street', '', f.uniqueidentifier, 'aaaaaa')
INSERT INTO db.engine4_passport_registrationcontactprefs (parentid, prefs) VALUES ( f.uniqueidentifier, 'Post Email ')
INSERT INTO db.engine4_passport_registrationfoundus (parentid, medium, `reason for joining`) VALUES ( f.uniqueidentifier, '', '')
INSERT INTO db.engine4_passport_registrationhousehold (parentid, `chief earner occupation`, `number of people`, `number of children`) VALUES ( f.uniqueidentifier, 'build', '1', '0')
INSERT INTO db.engine4_passport_registrationinterests (parentid, interest) VALUES ( f.uniqueidentifier, '')
INSERT INTO db.engine4_passport_registrationpersonaldetails (parentid, ethnicity) VALUES ( f.uniqueidentifier, 'White')
INSERT INTO db.engine4_passport_registrationqanda VALUES ( f.uniqueidentifier, '4', '1', '1', '1', '3', '3', '5', '5', '3', '4', '5', '4')
INSERT INTO db.engine4_passport_registrationteam (parentid, team?, `no of team members`, relationship) VALUES ( f.uniqueidentifier, 'No', '', '')
INSERT INTO db.engine4_passport_registrationuserlink (userid, regformUID) VALUES ('10', f.uniqueidentifier);
这是我得到的错误:
Script line: 1 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSERT INTO db.engine4_passport_registrationchildren (parentid, `Fir' at line 2
答案 0 :(得分:2)
这些是多个查询,而不仅仅是一个。在其间添加;
以分隔它们:
select ....
inner join ...
where ...;
insert into ...;
values ...
...
如果要使用先前选择的值,则可以使用变量。例如:
SELECT @var := f.uniqueidentifier
FROM db.engine4_passport_userforms uf
INNER JOIN db.engine4_passport_forms f ON uf.form_id = f.form_id
WHERE uf.user_id = 10;
INSERT INTO db.engine4_passport_registrationchildren (parentid, `First Name`, Surname, Relationship)
VALUES (@var, '', '', '');
答案 1 :(得分:0)
simicolon ;
必须终止多个查询。没有分号的单个查询是可以的,但是如果你向mysql服务器发送多个查询,它们必须由;