1
我有3个表MySQL的参照完整性
create table movies(
movie_id int PRIMARY KEY AUTO_INCREMENT,
budget decimal(10,3) NOT NULL,
name varchar(20) NOT NULL);
create table actor(
actor_id int primary key auto_increment,
name varchar(13) not null,
salary decimal(12,2) not null);
create table movie_actor(movie_id int not null references movies (movie_id),
actor_id int not null references actor (actor_id),
constraint movie_actor_pk primary key (movie_id,actor_id))
.I已插入数据到它们。
mysql> select * from movies;
+----------+----------+------------+
| movie_id | budget | name |
+----------+----------+------------+
| 1 | 1000.000 | rambo |
| 2 | 2000.000 | rocky |
| 3 | 8000.000 | terminator |
+----------+----------+------------+
3 rows in set (0.00 sec)
mysql> select * from actor;
+----------+-----------+--------+
| actor_id | name | salary |
+----------+-----------+--------+
| 100 | sylvester | 100.00 |
| 101 | arnold | 90.00 |
+----------+-----------+--------+
2 rows in set (0.00 sec)
mysql> select * from movie_actor;
+----------+----------+
| movie_id | actor_id |
+----------+----------+
| 1 | 100 |
| 2 | 100 |
| 3 | 101 |
| 39 | 10109 |
+----------+----------+
4 rows in set (0.00 sec)
它的InnoDB引擎 我的问题是在movie_actor表movie_id 39不应该被允许插入movie_actor表按引用完整性,是否正确?
感谢Clodo阿尔。它worked.But小幅回调,每一个约束 – ftw
@ftw当然之前应该有一个逗号。纠正。 –