我使用的是MySQL,有一个表(documentShips),我想存储文档和用户之间的连接/链接。
我希望使用like语句在表(文档和用户)之间匹配用户,例如:
where documents.authors like '% users.last_name %'
并将其插入documentShips表中,例如:
insert into documentShips (user_id, document_id) ... values () ... where ...
我正在努力创建一个有效的(mysql)insert语句来实现这一点。
任何帮助将不胜感激!!!
谢谢你,乔恩。
如果我理解正确,您可以像这样使用FIND_IN_SET()
INSERT INTO documentShips (user_id, document_id)
SELECT u.id, d.id
FROM documents d JOIN users u
ON FIND_IN_SET(CONCAT(u.first_name, ' ', u.last_name), d.authors) > 0
ORDER BY d.id, u.id
这里是SQLFiddle演示
为了使其正常工作,您必须确保文档中的值以逗号分隔。作者
在逗号之前或之后没有空格。如果实际上您有空格,那么首先用这样的查询消除它们
UPDATE documents
SET authors = REPLACE(REPLACE(authors, ' ,', ','), ', ', ',');
这里是SQLFiddle演示
现在考虑规范化您的文档
表。
使用插入。。。选择MySQL文档中所示的语法。文档中也有一些示例。