Remove the outer ()
from your VALUES
clause. A multi-row VALUES
clause is not ()
enclosed, but each comma-separated row group is ()
enclosed as in VALUES (1,2,3),(3,2,1),(1,2,3)
. By enclosing the whole row list, MySQL must be misinterpreting the outer ()
as the start of an expression whose result would be the first column.
VALUES /* no ( here... */
(:id_0, :data_0), (:id_1, :data_1), (:id_2, :data_2),
(:id_3, :data_3), (:id_4, :data_4), (:id_5, :data_5),
(:id_6, :data_6), (:id_7, :data_7), (:id_8, :data_8),
(:id_9, :data_9)
/* no ) here... */