-1

存在する場合は更新、存在しない場合は挿入しようとしていますが、このクエリは何らかの理由で機能しません

DECLARE @serverID varchar(60)
SET @serverID='(SELECT `c_server` FROM `admin_settings` WHERE `member_id`='%1')'
IF EXISTS (SELECT `id` FROM `s_advanced_info` WHERE `s_id` = @serverID)
UPDATE
    `s_advanced_info`
SET
    `s_hostname`='%2',
    `s_password`='%3',
    `s_admin_password`='%4',
    `s_motd`='%5',
    `s_sigcheck`='%6',
    `s_maxplayers`='%7',
    `s_kickduplicate`='%8',
    `s_sidechat`='%9',
    `s_von`='%10',
    `s_vonquality`='%11',
    `s_datetime_type`='%12',
    `s_static_date`='%13',
    `s_static_time`='%14'
WHERE
    `s_id` = @serverID
ELSE
INSERT INTO
    `s_advanced_info`
VALUES
    ('',@serverID,'%2','%3','%4','%5','%6','%7','%8','%9','%10',
    '%11','%12','%13','%14')

mysql コンソールで試してみると、エラーがここにあると表示されます。

DECLARE @serverID varchar(60) SET @serverID = '(SELECT c_serverFROM admin_settingsWHERE member_id= '%1')'

エラーの意味と修正方法を教えてください。

4

1 に答える 1