同じ Mysql クエリで更新したい 2 つのテーブルがあり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`)
);
を指定すると、テーブルlinks.entry_id
内の関連するすべての行を削除してから、と を結合して、関連する を 1 減らします。links
links.tag_id
tags.id
tags.use_number
それを行うクエリを作成しようとしましたが、明らかに有効ではありません。
DELETE FROM links INNER JOIN tags ON links.tag_id = tags.id AND entry_id = ? SET tags.use_number = tags.use_number - 1;
前もって感謝します!