当前表格是这样的:
CREATE TABLE `feed_items` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`feed_id` int(11) NOT NULL,
`remote_id` varchar(32) NOT NULL DEFAULT '',
`title` varchar(255) NOT NULL DEFAULT '',
`link` varchar(255) NOT NULL DEFAULT '',
`updated_time` datetime NOT NULL,
`created_time` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
我需要找到一种方法,如果我将多个 RSS 提要拉到一个表中,并且具有相同标题的文章具有相同的“remote_id”值,我如何确保不插入重复值?
我正在使用
$this->db->query('INSERT INTO feed_items(feed_id, remote_id, link, title, created_time, updated_time) VALUES (?, ?, ?, ?, ?, NOW()) ON DUPLICATE KEY UPDATE remote_id=remote_id', array($this->feed_id, $this->remote_id, $this->link, $this->title, $this->created_time, $this->remote_id));
请问有没有更好的办法?
最佳答案
为这两列添加一个 UNIQUE
约束。
关于php - 需要插入不重复的SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8220476/