在MySQL中,我有三个表:projects
,tags
和tags_posts
。MySQL:在外键表中插入数据
tags_posts
是projects
和tags
之间的表中包含project_id
和tag_id
为外键。这样,我就可以轻松选择project_id = x
的所有标签,或选择tag_id = y
的所有项目。
当然,我想将项目添加到数据库。我已经了解到START TRANSACTION;
和COMMIT;
,这样查询将完全执行,或根本不执行。 但是,我必须使用什么查询将INSERT
,SELECT
和UPDATE
数据同时用于这三个表格?
我曾想过使用: INSERT INTO projects([column-1], [column-2], [column-N]) VALUES([value-1], [value-2], [value-N]);
INSERT INTO tags_posts(tag_id, project_id) VALUES(1, LAST_INSERT_ID());
INSERT INTO tags(tag_id, tag_name) VALUES(LAST_INSERT_ID(), 'php');
MySQL工作台提供了一个错误1452:外键约束失败。 PHPMyAdmin挂起执行此查询。 谁可以帮我使用正确的查询INSERT
,UPDATE
或SELECT
这三张表?
将行插入'tags'和'projects'后,您必须在'tags_posts'最后插入'tags_posts'。 –
当然,这听起来很合理!但是,除此之外,我的查询是否有效? –