первая и вторая вставка должны быть отменены (например, вторая, основанная на первой). в любом случае транзакция здесь не работает, она фиксирует первую, даже если вторая выходит из-за ошибки, для SET autocommit = 0
при попытке использования = off
и внутри транзакции, и за ее пределами.
SET autocommit = 0;
START TRANSACTION;
insert into rooms
values
("test","0000","0000");
insert into assign_write_rooms
values
("0000","notest","0000");
COMMIT;