当前位置:Gxlcms > PHP教程 > mysql关于一对多,更新数据的问题

mysql关于一对多,更新数据的问题

时间:2021-07-01 10:21:17 帮助过:4人阅读

关于一对多,数据更新的问题
打个比方,现在有2个数据表,一个是 users,另一个是user_meta
users里面有id,username,email等信息
user_meta里面有id,uid,meta_key,meta_value等字段
现在假如A用户有分类,如HTML课程、PHP课程、JS课程等分类,要存入user_meta表,如下格式
id,uid,meta_key,meta_value
1,1,kemu,html
2,1,kemu,php
3,1,kemu,js
.......
等数据,如果A用户不想学JS课程了,那么要从前台更新操作,要从user_meta表里面去除uid为1,meta_value的字段,其他的不变,当然,这只是去除,如果增加,同样是前台界面操作。
请问:
SQL语句该怎么去构造?或者有没有同类问题的好的解决办法?谢谢大佬们的解决。

回复内容:

关于一对多,数据更新的问题
打个比方,现在有2个数据表,一个是 users,另一个是user_meta
users里面有id,username,email等信息
user_meta里面有id,uid,meta_key,meta_value等字段
现在假如A用户有分类,如HTML课程、PHP课程、JS课程等分类,要存入user_meta表,如下格式
id,uid,meta_key,meta_value
1,1,kemu,html
2,1,kemu,php
3,1,kemu,js
.......
等数据,如果A用户不想学JS课程了,那么要从前台更新操作,要从user_meta表里面去除uid为1,meta_value的字段,其他的不变,当然,这只是去除,如果增加,同样是前台界面操作。
请问:
SQL语句该怎么去构造?或者有没有同类问题的好的解决办法?谢谢大佬们的解决。

你自己的答案就是好方法.

记得不要用update语句,只用insert和delete

如果用户删除想学的科目: delete from user_meta where uid=1

如果用户改变(或者第一次选择)想学的科目,先delete,再insert,这样编码最简单,容易理解

人气教程排行