0
我有两个表。使用查询在mysql中删除行
这里是
CREATE TABLE IF NOT EXISTS `CATALOG_CATEGORY_PRODUCT`
(
`CATEGORY_ID` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Category ID',
`PRODUCT_ID` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Product ID',
`POSITION` INT(11) NOT NULL DEFAULT '0' COMMENT 'Position',
PRIMARY KEY (`CATEGORY_ID`, `PRODUCT_ID`),
KEY `IDX_CATALOG_CATEGORY_PRODUCT_PRODUCT_ID` (`PRODUCT_ID`)
)
ENGINE=INNODB
DEFAULT CHARSET=UTF8
COMMENT='Catalog Product To Category Linkage Table';
CREATE TABLE IF NOT EXISTS `CATALOG_PRODUCT_ENTITY_TIER_PRICE`
(
`VALUE_ID` INT(11) NOT NULL AUTO_INCREMENT COMMENT 'Value ID',
`ENTITY_ID` INT(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT
'Entity ID',
`ALL_GROUPS` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '1' COMMENT
'Is Applicable To All Customer Groups',
`CUSTOMER_GROUP_ID` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT
'Customer Group ID',
`QTY` DECIMAL(12, 4) NOT NULL DEFAULT '1.0000' COMMENT 'QTY',
`VALUE` DECIMAL(12, 4) NOT NULL DEFAULT '0.0000' COMMENT
'Value',
`WEBSITE_ID` SMALLINT(5) UNSIGNED NOT NULL COMMENT 'Website ID',
PRIMARY KEY (`VALUE_ID`)
)
ENGINE=INNODB
DEFAULT CHARSET=UTF8
COMMENT='Catalog Product Tier Price Attribute Backend Table';
我用这下面的查询
SELECT * FROM `catalog_product_entity_tier_price` LEFT OUTER JOIN catalog_category_product ON catalog_product_entity_tier_price.entity_id = catalog_category_product.product_id WHERE catalog_category_product.category_id = 57 AND catalog_product_entity_tier_price.qty = 500.0000
它返回97行结构。我想删除这97行。
所以我用这个查询。
DELETE FROM `catalog_product_entity_tier_price` LEFT OUTER JOIN catalog_category_product WHERE catalog_product_entity_tier_price.entity_id = catalog_category_product.product_id AND catalog_category_product.category_id = 57 AND catalog_product_entity_tier_price.qty = 500.0000
但我得到这个错误。
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LEFT OUTER JOIN catalog_category_product WHERE catalog_product_entity_tier_price' at line 1
有人能告诉我正确的语法吗?
谢谢
谢谢您的回答。我只想从'catalog_product_entity_tier_price'表中删除行。你确定它只从该表中删除行吗? – Giri
@Giri:是的,所以我在'delete' –
之后提到过我试过你的代码。这是我得到的错误。 '#1064 - 你的SQL语法有错误;检查对应于您的MySQL服务器版本的手册,以便在'WHERE cpet.entity_id = ccp.product_id AND ccp.category_id = 57 AND cpet.qt'在第4行使用正确的语法' – Giri