我有一个表(a),它应该有一个列“user_id”,它是某个其他表(b)OR(c)的外键。 所以它指向表b或c(只有一个,而不是两个)。
这在MySQL中是否可行?我能想出的最好的事情就是跟随(但正如你所看到的,我在“a”-table中有两次“user_id”,这不是很好,因为这两个值中的一个总是空的。
非常感谢!
答案 0 :(得分:0)
嗨,这称为多态关联,您不能使用MySql外键约束来强制执行它。
要使userId_a为null或user_id_b为null,您可以创建检查约束
from itertools import product
def find_shortest(doc, terms):
doc = document.split()
substrings = (
doc[i:j]
for i, j in product(range(0, len(doc)), range(0, len(doc)))
if all(search_term in doc[i:j] for search_term in search_terms)
)
shortest = doc
for candidate in substrings:
if len(candidate) < len(shortest):
shortest = candidate
return shortest.
document = 'many google employees can program can google employees because google is a technology company that writes program'
search_terms = ['google', 'program', 'can']
print find_shortest(document, search_terms)
>>>> ['program', 'can', 'google']