繁体   English   中英

合并一个插入/选择语句成一个? MySQL的

[英]merge a insert/select statement into one? mysql

有没有办法使这一陈述成为一体? 基本思想是插入一个标记名(如果它不存在),并为我的下一条语句检索主键。 标题栏是唯一的。

INSERT INTO `tag_name` (`count`, `title`) 
SELECT 0, @title FROM DUAL 
WHERE not exists 
    (SELECT * FROM `tag_name` WHERE `title` = @title LIMIT 1);

如果行影响> 0,则使用last_insert_rowid(),否则运行此语句

SELECT id from  FROM `tag_name` WHERE `title` = @title

---这是一个测试

CREATE TABLE test (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, data int unique);
//insert into test(data) select 5;

您可以使用

insert into ... on duplicate update 

这是插入行,当密钥重复时更新它。您也可以使用:

insert into on duplicate update field1=field1

这将忽略重复!

您可以使用MySql特定的Replace语法。 在此处查看更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM