En sí, un delete from
no provoca un error de ese tipo.
Tu problema ahi es que estás realizando un set mivariable =(select varios_valores from tabla);
la variable solo puede tomar un valor, no varios.
Puedes intentar agregar la clausula "limit 1" en el select, de la siguiente forma: set mivariable =(select varios_valores from tabla limit 1);
, lo malo es que no cumpliría el cometido de eliminar todos los registros que quieres borrar.
Creo que para tal ejercicio es mas factible utilizar llaves primarias y foraneas "al eliminar - cascada", "al actualizar - cascada".
Por otra parte, las variables que admiten varios valores, son las variables de usuario SET @mivariable = ElValorQueTuQuieras
.