我在MySQL中创建了多个表,但是在一个或多个表中的某些字段中的数据应该存在于其他表中。我知道这可以通过向表中添加外键来创建。
我想知道如何做到这一点。
请注意,删除任何记录时,不应删除所有链接...可以将值更改为null。我会以其他方式管理它。
PS:我只需要代码就可以了。
答案 0 :(得分:1)
CREATE TABLE other (
id unsigned integer auto_increment primary key
,field1 varchar(100) not null) ENGINE = InnoDB;
CREATE TABLE example (
id unsigned integer auto_increment primary key
,field1 varchar(100) not null
,other_id unsigned integer
,FOREIGN KEY FK_example_other_table (foreign_id) REFERENCES other(id)
ON DELETE RESTRICT
ON UPDATE CASCADE ) ENGINE = InnoDB;
请参阅:http://dev.mysql.com/doc/refman/5.1/en/create-table.html