更新表中的记录(如果存在)(带子句)或如果不存在则创建它

时间:2015-05-21 16:59:31

标签: php mysql records mysql5

我正在尝试编写一个查询,如果存在则会更新记录,或者如果不存在则创建它,然而我想根据text_value的条件执行此操作尚未设定。

我最初想过使用REPLACE,但这不支持WHERE子句。

REPLACE INTO settings
    SET var_name = '',
        var_group = '',
        text_value = '',
        country_id = ''

我可以在一个查询中执行我想要执行的操作吗?我试图这样做而不必写这样的东西,我在PHP中有两个查询:

SELECT FROM settings WHERE text_value != '' AND country_id = $country_id

如果没有结果,则

INSERT INTO settings...

这是我的表DDL信息:

CREATE TABLE `settings` (
  `settings_id` int(11) NOT NULL auto_increment,
  `var_name` varchar(50) default NULL,
  `var_group` varchar(26) NOT NULL,
  `text_value` text NOT NULL,
  `country_id` int(11) NOT NULL,
  PRIMARY KEY  (`settings_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

0 个答案:

没有答案