更改记录时在mysql/php中构造查询
我正在使用php和mysqli。我有一个表,它有瞳孔id、瞳孔条件和主键 瞳孔情况显示为一系列约8个复选框 对于一个id为10的学生,我可能有以下三项记录:更改记录时在mysql/php中构造查询,mysql,Mysql,我正在使用php和mysqli。我有一个表,它有瞳孔id、瞳孔条件和主键 瞳孔情况显示为一系列约8个复选框 对于一个id为10的学生,我可能有以下三项记录: p_id, p_c, pk 10, 5, 6 10, 3, 7 10, 7, 8 现在,用户更改瞳孔条件框的选择 目前,我正在删除该学生的所有现有记录,并插入新闻记录。这是可行的,但似乎很笨拙 我想了一下: if (record exists) {skip} elseif (record exists but n
p_id, p_c, pk
10, 5, 6
10, 3, 7
10, 7, 8
现在,用户更改瞳孔条件框的选择
目前,我正在删除该学生的所有现有记录,并插入新闻记录。这是可行的,但似乎很笨拙
我想了一下:
if (record exists)
{skip}
elseif (record exists but not in new selection)
{delete}
elseif (record doesn't exisit)
{insert}
是否有一些我不知道的查询类型会对此有所帮助?您可以这样做:
从p\u id=10且p\u c不在[id\u of\u checked\u conditions]的表中删除
这必须删除p_id=10的所有行以及不再为此瞳孔检查的条件(条件id)
和INSERT
语句,在delete之后插入所有选中的。(您可以在p\u id
和p\u c
上创建唯一索引,这样就不会出现重复行)更新“表”,其中…谢谢-对于删除查询非常有效。看不到如何避免插入重复记录-认为这就是MaggsWeb的答案所在???