mysql - REPLACE INTO sql 查询有 2 个键?

标签 mysql sql

我正在尝试通过 phpMyAdmin 创建一个表,我可以在其中对两列匹配的行进行 REPLACE INTO

我有一个名为 channel_data 的表,它有 2 个分配的 ID。一份用于相关服务器 ( guild_id ),一份用于相关数据所有者 ( owner_id )。

REPLACE INTO channel_data (guild_id, owner_id, username, userlimit) 
VALUES ('123456789123456789', '123456789123456789', 'foo', '100');`

上面是我想要实现的示例,但如果找到具有相同 usernameuserlimit 的行,我希望它替换 guild_idowner_id 的值;但如果没有 - 它会创建一个新行...

我希望这是有道理的......

提前致谢:)

最佳答案

在两列上创建唯一的多列索引。

ALTER TABLE channel_data
ADD UNIQUE INDEX (guild_id, owner_id);

关于mysql - REPLACE INTO sql 查询有 2 个键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49991447/

相关文章:

mysql - Rails S 命令不起作用错误 : Mysql Socket

mysql - SQL输出多个值

sql - 如何在不丢失小时、分钟和秒的情况下向 Hive 时间戳添加天数

mysql - 如何通过查询将产品归入某个类别

mysql 每年同一天

MySQL 触发插入/更新事件

mysql - docker-compose 应用程序和数据库之间的链接

php - 向mysql中的WHERE子句添加动态数量的变量

sql - 如何查询未覆盖的时间

mysql - SQL 插入(基本)