Php 如何删除mysql中计数大于1的货币?
我有一张叫做currency_country的桌子,里面有所有的货币。一些欧洲国家也有旧货币。我想从拥有欧元货币的国家删除所有非欧元货币 我试过这些方法,但没用Php 如何删除mysql中计数大于1的货币?,php,mysql,Php,Mysql,我有一张叫做currency_country的桌子,里面有所有的货币。一些欧洲国家也有旧货币。我想从拥有欧元货币的国家删除所有非欧元货币 我试过这些方法,但没用 DELETE FROM `currency_country` WHERE currency_code NOT IN ( SELECT currency_code FROM ( SELECT currency_code FROM `currency_country` WHERE currency_code
DELETE FROM `currency_country`
WHERE currency_code NOT IN (
SELECT currency_code
FROM (
SELECT currency_code
FROM `currency_country`
WHERE currency_code = 'EUR'
) temp
);
还有这个
DELETE
FROM
`currency_country`
LEFT JOIN
country
on `currency_country`.`country_id` = country.`id`
WHERE
EXISTS
(
SELECT
*
FROM
`currency_country`
WHERE
EXISTS
(
SELECT
*
FROM
`currency_country`
WHERE
`currency_code` = 'EUR'
)
)
AND currency_code != 'EUR'
AND country.name IN
(
'Austria',
'Belgium',
'Cyprus',
'Netherlands',
'Estonia',
'Finland',
'France',
'Germany',
'Greece',
'Ireland',
'Italy',
'Latvia',
'Lithuania',
'Luxembourg',
'Malta',
'Monaco',
'Portugal',
'San Marino',
'Slovakia',
'Slovenia',
'Spain'
)
;
你有没有试过这样的方法:
DELETE FROM c1
USING currency_country AS c1
WHERE c1.currency_code != 'EUR'
AND EXISTS (
SELECT 1
FROM (SELECT * FROM currency_country) AS c2
WHERE c2.currency_code = 'EUR'
AND c1.country_id = c2.country_id
);
不言自明,您可以删除所有非“欧元”的货币,以及同一国家/地区存在“欧元”的货币。另一种方法。查找所有欧元的国家ID,然后删除所有非欧元货币
DELETE FROM currency_country
WHERE country_id IN (
SELECT country_id
FROM currency_country
WHERE currency_code = 'EUR')
AND currency_code <> 'EUR';
编辑
请试试这个
DELETE FROM currency_country
WHERE country_id IN (
SELECT country_id
FROM (SELECT * FROM currency_country) AS something
WHERE currency_code = 'EUR')
AND currency_code <> 'EUR';
第一个Where条件应为Where c1.CURRENCE_code!='EUR’,我猜是的,拼写错误对于这一个我得到了这个错误,你的SQL语法中有一个错误;查看与您的MySQL服务器版本对应的手册,了解在“c1 WHERE c1.currency_code!=”附近使用的正确语法EUR'和EXISTS从第1I行的“curren”中选择1,请尝试此版本。我之前发布的那篇文章使用了PostGreSQL语法,我的坏消息这次我得到了这个错误我不知道为什么会发生?您不能指定从第条中更新的目标表“c1”从货币\u国家/地区删除国家/地区从货币\u国家/地区中选择国家/地区从货币\u国家/地区选择国家/地区从货币\u代码=“EUR”和货币\u代码“EUR”它说您不能指定从第条中更新的目标表“货币\u国家/地区”您的\u db\u name.currency\u country.现在在为您工作吗?