繁体   English   中英

mysql从联接表中删除记录

[英]mysql delete record from joined table

我在从mysql表中删除一条记录时遇到了麻烦,该表与我选择从中删除的记录联接在一起。

我通过选择一个复选框并单击我的网站上使用jos_fsdspremade.id作为其自动增量键和典型删除ID的javascript表界面上的Submit按钮来执行以下delete语句。

DELETE jos_fsdscart.*
FROM jos_fsdscart
LEFT JOIN jos_fsdspremade ON  jos_fsdscart.mfd = jos_fsdspremade.item_number
WHERE jos_fsdspremade.id = ( '<input name="jos_fsdspremade.id" multiple="y" />' )  AND jos_fsdscart.id4 = '<code type="user" />'

但不会从jos_fsdscart中删除任何内容 日志如下:

属性“ id”的替换值为“ 61”

executeQuery [开始:0,限制:0]'query1'()

查询代码:删除jos_fsdscart。

如您所见,我正在尝试根据联接表中的选择从jos_fsdscart表中删除一条记录:

如果有帮助,这是我在javascript界面​​中选择的mysql查询:

SELECT
  `<output name="jos_fsdspremade.owner_id"  hidden="y" />`,
  `<output name="jos_fsdspremade.id" title="FSDS" width="70" text="view" type="next" query="24" task="showResults" linktype="open" sizex="980" sizey="730"  />`,
  `<output name="jos_fsdspremade.item_number" title=".pdf" width="70" text="SAVE" type="link" url="/menumanager/images/pdf/%s.pdf" />` ,
  `<output name="jos_fsdspremade.pic"  title="Image" type="link" linktype="img" url="/menumanager/images/preman/%s" sizex="30" sizey="30" width="65" />`,
  `<output name="jos_fsdspremade.title" title="Product Name" width="300" filter="y" />`,
  `<output name="jos_fsdspremade.brand" title="Brand" width="300" filter="y" />`,
  `<output name="jos_fsdspremade.manufacturer" title="Distributor" width="200" filter="y"/>`,
  `<output name="jos_fsdspremade.product_type" width="200" filter="y"/>` 
FROM jos_fsdspremade, jos_fsdscart
WHERE `published`=1 AND jos_fsdscart.mfd = jos_fsdspremade.item_number AND `id4` = '<code type="user" />' 
 ORDER BY `title`

我非常怀疑您是否以这样的方式构造了一个mysql表,即将'id'设置为一个varchar,它将接受类似("jos_fsdspremade.id" multiple="y" )

您需要从表单中获取ID(在其中ID可以选择的地方)并将其传递给查询:

WHERE jos_fsdspremade.id = 1

或者,如果您想做多ID:

WHERE jos_fsdspremade.id in (1, 2, 3)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM