进行时:
DELETE FROM jobs
WHERE job_id
=1 LIMIT 1 错误:
#1451 - Cannot delete or update a parent row: a foreign key constraint fails (paymesomething.advertisers, CONSTRAINT advertisers_ibfk_1 FOREIGN KEY (advertiser_id) REFERENCES jobs (advertiser_id)) 这是我的桌子:
CREATE TABLE IF NOT EXISTS advertisers
( advertiser_id
int(11) unsigned NOT NULL AUTO_INCREMENT, name
varchar(255) NOT NULL, password
char(32) NOT NULL, email
varchar(128) NOT NULL, address
varchar(255) NOT NULL, phone
varchar(255) NOT NULL, fax
varchar(255) NOT NULL, session_token
char(30) NOT NULL, PRIMARY KEY (advertiser_id
), UNIQUE KEY email
(email
) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
INSERT INTO advertisers
(advertiser_id
, name
, password
, email
, address
, phone
, fax
, session_token
) VALUES (1, 'TEST COMPANY', '', '', '', '', '', '');
CREATE TABLE IF NOT EXISTS jobs
( job_id
int(11) unsigned NOT NULL AUTO_INCREMENT, advertiser_id
int(11) unsigned NOT NULL, name
varchar(255) NOT NULL, shortdesc
varchar(255) NOT NULL, longdesc
text NOT NULL, address
varchar(255) NOT NULL, time_added
int(11) NOT NULL, active
tinyint(1) NOT NULL, moderated
tinyint(1) NOT NULL, PRIMARY KEY (job_id
), KEY advertiser_id
(advertiser_id
,active
,moderated
) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
INSERT INTO jobs
(job_id
, advertiser_id
, name
, shortdesc
, longdesc
, address
, active
, moderated
) VALUES (1, 1, 'TEST', 'TESTTEST', 'TESTTESTES', '', 0, 0);
ALTER TABLE advertisers
ADD CONSTRAINT advertisers_ibfk_1
FOREIGN KEY (advertiser_id
) REFERENCES jobs
(advertiser_id
);
照原样,必须先删除Advertisers表中的行,然后才能删除它引用的Jobs表中的行。这个:
ALTER TABLE advertisers
ADD CONSTRAINT advertisers_ibfk_1
FOREIGN KEY (advertiser_id
) REFERENCES jobs
(advertiser_id
); ...实际上与应有的相反。实际上,这意味着您必须在作业表中有一条记录,然后才是广告商。因此,您需要使用:
ALTER TABLE jobs
ADD CONSTRAINT advertisers_ibfk_1
FOREIGN KEY (advertiser_id
) REFERENCES advertisers
(advertiser_id
); 纠正外键关系后,您的delete语句将起作用。来源:stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。