我有两个要在同一个 Mysql 查询中更新的表,第一个被命名tags
,第二个被命名links
。
标签表如下:
CREATE TABLE `tags` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`category_id` int(11) DEFAULT NULL,
`user_id` int(11) DEFAULT NULL,
`last_modified` datetime DEFAULT NULL,
`name` text,
`title` text,
`use_number` int(11) DEFAULT '0',
PRIMARY KEY (`id`)
);
链接表如下所示:
CREATE TABLE `links` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`entry_id` int(11) DEFAULT NULL,
`tag_id` int(11) DEFAULT NULL,
`start_pos` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
);
给定 a links.entry_id
,我想删除links
表中所有关联的行,然后加入links.tag_id
and tags.id
,将关联的行减少tags.use_number
1。
我试图提出一个可以做到这一点的查询,但它显然无效。
DELETE FROM links INNER JOIN tags ON links.tag_id = tags.id AND entry_id = ? SET tags.use_number = tags.use_number - 1;
提前致谢!