Да, если TableA.id_A является первичным ключом и TableB.A_id имеет ограничение внешнего ключа, ссылающееся на этот первичный ключ, то значение XXX должно существовать в TableA.id_A, прежде чем TableB.A_id может содержать XXX.
Это также означает, что вы не можете удалить или изменить значение XXX в TableA.id_A, в то время как значение XXX существует в TableB.A_id. Сначала вам нужно будет удалить, изменить или установить значение NULL в TableB.A_id. Вы также можете объявить внешний ключ с помощью параметров CASCADE, чтобы изменения в TableA также применялись к TableB атомарно. Но в зависимой таблице никогда не может быть значения «сирота».
Обратите внимание, что если вы используете механизм хранения MyISAM для Таблицы A или Таблицы B, то определение ограничений внешнего ключа игнорируется, и база данных не обеспечивает ссылочную целостность между двумя таблицами. Вы должны использовать механизм хранения InnoDB для обеих таблиц, чтобы получить поддержку ограничений внешнего ключа.