如何从mysql中的列中删除某个值

如何从mysql中的列中删除某个值,mysql,Mysql,我来这里是因为我有一个我无法解决的问题,任何帮助都将不胜感激 情况是: 我正在用JS编写一个小项目系统,并使用mysql作为数据库,对于每个项目,我都有以下列: 项目名称、所有者1、所有者2、所有者3 每个物品只能由3个人拥有,但拥有该物品的人可以将其出售,在他出售后,代码必须从他所属的所有者x中删除他的姓名。这就是问题所在,我想不出怎么做 这是我用来搜索玩家是否有特定物品的查询: SELECT * FROM sys WHERE (owner_1= '${msg.author.id}' OR

我来这里是因为我有一个我无法解决的问题,任何帮助都将不胜感激

情况是:

我正在用JS编写一个小项目系统,并使用mysql作为数据库,对于每个项目,我都有以下列:

项目名称、所有者1、所有者2、所有者3

每个物品只能由3个人拥有,但拥有该物品的人可以将其出售,在他出售后,代码必须从他所属的所有者x中删除他的姓名。这就是问题所在,我想不出怎么做 这是我用来搜索玩家是否有特定物品的查询:

SELECT * FROM sys WHERE (owner_1= '${msg.author.id}' OR 
owner_2 = '${msg.author.id}' OR owner_3 = '${msg.author.id}') 
AND Item_Name = 'Dark Sword'

现在,我需要将其名称从包含其名称的
owner\u x
列中删除。如果有人能帮助我,我将非常感激!(对不起,我的英语不流利)

你可以用这样的方法:

UPDATE sys SET 
Owner_1 = IF(Owner_1 = '${msg.author.id}', NULL, Owner_1),
Owner_2 = IF(Owner_2 = '${msg.author.id}', NULL, Owner_2),
Owner_3 = IF(Owner_3 = '${msg.author.id}', NULL, Owner_3)
WHERE '${msg.author.id}' IN(owner_1,owner_2,owner_3) AND Item_Name = 'Dark Sword' 

考虑修改您的模式,这样就有一个项目表、一个所有者表和一个记录所有者拥有哪个项目的表。处理应用程序逻辑中有多少所有者可以拥有一个项目的逻辑。感谢@草莓的编辑。我是从手机发帖的,所以无法正确格式化