首页 > 解决方案 > 查找,必要时在一条 SQL 语句中插入

问题描述

MariaDB 10.2.32。有一个动态查找表 - 整数自动增量主键ID,varcharName上面有一个唯一索引。问题:是否可以在一条SQL语句中实现“有名字就返回对应的ID,没有就插入并返回生成的ID”的逻辑?

非常欢迎非标准的、特定于 MySQL 的 SQL 扩展。insert ignore并且insert... on duplicate key非常接近,除了两者都没有返回ID。但我几乎不了解供应商 SQL 的最新版本。

编辑:也insert...returning,但这需要 MariaDB 10.5。

存储过程对我不起作用 - 它是共享主机设置,产品服务器不允许 SP。

将 PHP 7.3 与 Mysqli 一起使用。

编辑:我知道如何在多个语句中做到这一点。问题是,一个人能做到吗?

标签: mysqlmariadb

解决方案


推荐阅读