繁体   English   中英

如果有外键,你如何删除一行? sql

[英]how do you delete a row, if this has foreign keys? sql

例如,如果您有这些行

create table table1 
(
column1 int primary key,
column2 varchar(50),
column3 varchar(50),
column4 varchar(50),
)

create table tabla2
(
col1 int primary key,
col2 int,
col3 varchar(50),
foreign key(col2) references table1(column1)
)

例如我有一排

insert into table1(column1,column2,column3,column4) values (1,'a','b','c');

insert into table2(col1,col2,col3) values (1,1,'xxx');

我想删除所有这些行(只是他们)

delete from table1 where colum1=1; 

不工作,

我知道我可以先删除另一个,然后再删除它,但是我有一个包含很多表的数据库,并且它们自另一个表以来有一个外键,我想删除该行,因为所有行都与此相关,也删除

foreign key(col2) references table1(column1) on delete cascade

http://dev.mysql.com/doc/refman/5.1/en/innodb-foreign-key-constraints.html

ON DELETE CASCADE添加到您的外键约束。

暂无
暂无

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

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