Во-первых, избавьтесь от списка, разделенного символами. Используйте другую таблицу с одним идентификатором виджета на строку.
CREATE TABLE ThingieWidgets (
thingie_id INT REFERENCES Thingies,
widget_id INT REFERENCES Widgets,
PRIMARY KEY(thingie_id, widget_id)
);
Заполнить таблицу значениями из списка, разделенного косой чертой:
INSERT INTO ThingieWidgets (thingie_id, widget_id)
VALUES (1234, 67), (1234, 797), (1234, 124);
Теперь вы можете проверить, ссылается ли Thingie 1234 на виджет 45:
SELECT * FROM ThingieWidgets
WHERE thingie_id = 1234 AND widget_id = 45;
Вы можете попытаться вставить и восстановить, если есть ошибка дублирующего ключа:
INSERT INTO ThingieWidgets (thingie_id, widget_id)
VALUES (1234, 45);