Хорошо, сначала я запутался, когда увидел это, но теперь у меня это получилось, когда вы работаете
select * from test;
DELETE FROM test WHERE id=0;
Этот запрос сравнивает каждую строку как целое число, а не как строку, поэтому, когда MySQL приходит к ab & bbпоэтому MySQL принимает его за 0 и удаляет его, если вы начинаете его с любой цифры, например 1ab, поэтому MySQL принимает 1ab за 1, а когда вы запускаете запрос на удаление 1 вместо 0, он удаляет 1ab
Try
select * from test;
DELETE FROM test WHERE id='0';
Этот код сравнивает строки как строку, поэтому, когда он получает точный '0', MySQL удаляет его, иначе ничего.