MySQL - 插入前触发,仅当 col = 另一个现有数据库名称时才插入?

MySQL - Trigger before insert, only insert if col = another existing database name?

我有一个数据库 (database1) 和一个 table imei_db(IMEI VARCHAR(15), db VARCHAR(40))。我还有其他数据库(例如:database2),我想要一个触发器,当在 database1.imei_db 上插入一行时,它会在实际插入之前验证是否有数据库等于 db 字段值的名称。

例如:

现有数据库:database1, database2

成功:INSERT INTO imei_db VALUES ("111222333444555","database2")

失败:INSERT INTO imei_db VALUES ("111222333444555","database3")

我是这样做到的:

USE database1;
INSERT INTO `imei_db`(`IMEI`,`db`)
SELECT 111222333444555,"database2" FROM anytable
WHERE (SELECT count(*)
FROM information_schema.TABLES
WHERE (TABLE_SCHEMA = 'database2') AND (TABLE_NAME = 'table_expected_to_exist')) = 1
LIMIT 1;