私が取り組んでいるWebアプリケーションへのRESTインタフェースとして機能するNode-Redフローがいくつかあります。しかし、私はMySQLの挿入トランザクションで壁にぶつかってきました。Node-Redでトランザクションを挿入中のER_PARSE_ERROR
MySQLのノードに供給されるクエリは次のとおりです。
START TRANSACTION;
INSERT INTO `light_schedule` (`name`, `light_pwm`,
`accent_pwm_red`, `accent_pwm_green`, `accent_pwm_blue`, `strobe`,
`start_date`, `start_time`, `end_date`, `end_time`, `repeat_type`,
`repeat_every`, `repeat_sunday`, `repeat_monday`, `repeat_tuesday`,
`repeat_wednesday`, `repeat_thursday`, `repeat_friday`, `repeat_saturday`,
`repeat_by`, `end_after_num`, `end_on`, `is_template`)
VALUES ('example', NULL, NULL, NULL, NULL, 1, '2016-4-1', NULL, NULL, NULL, 2, 1, 1, 1, 1,
1, 1, 1, 1, NULL, NULL, NULL, 0);
SET @schedule = LAST_INSERT_ID();
INSERT INTO `strobe_colors` (`schedule_id`, `order_index`,
`duration`, `accent_pwm_red`, `accent_pwm_green`, `accent_pwm_blue`,
`rainbow`)
VALUES (@schedule, 0, 4600, NULL, NULL, NULL, 1),
(@schedule, 1, 4100, 150, 200, 163, 0);
INSERT INTO `lights_schedules` (`light_id`, `schedule_id`)
VALUES (5, @schedule),
(6, @schedule);
COMMIT;
私はphpMyAdminののクエリウィンドウにコピーして貼り付けた場合、このクエリは完璧に動作します。私は、このエラーに非常に多くの進歩を作ることができてきた
Error: ER_PARSE_ERROR: 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
`light_schedule` (`name`, `light_pwm`, `accent_pwm_red`, `accent_pw' at line 2
:私は私の流れを通してそれを発射しようとすると、しかし、私はエラーを取得します。私が見つけた助けに最も近いことは、私が役に立たなかったすべての列とテーブルの名前にバッククォートがあることを確認する助言でした。
バックテックの代わりに一重引用符を試してください – hardillb
@hardillb、ちょうど試しましたが、残念なことに喜びはありません。 –