我有两个表,images和image_data,这是我的 image_data 表的一个示例。
image_id | slide_id | language_id | type |
101 | 1 | 1 | CQ |
101 | 2 | NULL | NULL |
56 | 5 | 1 | TN |
56 | NULL | 2 | NULL |
所以基本上,每个图像都会有不同的选项,我想知道实现这一点的最佳方法..因为我觉得我做错了。
有了这个,我可以运行一个查询来GROUP_CONCAT()
将多行中的值转换为一个连接的字符串。
image_id | slide_id | language_id | type |
101 | 1,2 | 1 | CQ |
56 | 5 | 1,2 | TN |
这很好,但我现在这样做的问题是……用我的后端系统更新行似乎真的很困难。
因此,通过我的查询,我可以根据数据库确定要检查哪些,因为自从我将它连接起来后,我将所有这些都放在一行中。但现在就像..当我点击“保存”并更新行时,我应该更新哪一个?可以有超过 1 行相同的图像 id,那么我将如何更新正确的,等等。
如果我检查了另一张幻灯片的图像 #101,那么我需要为它创建一个新行。如果在那之后我想向它添加另一个 language_id,那么我需要确保不添加新行,因为存在一个具有 NULL 值的行,并且只需用新的语言 id 替换 NULL 值。
它看起来真的很复杂,并且有很多因素,使用这种方法真的很难编程。
最好的方法是什么?任何建议都非常感谢。
谢谢!