2

同じ 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 減らします。linkslinks.tag_idtags.idtags.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;

前もって感謝します!

4

1 に答える 1