mysql外键约束语法为:alter table child_table add foreign key (foreign_key_column) references parent_table (primary_key_column),可确保两个表间关系完整性。外键约束作用包括:1.数据完整性:约束子表引用必须存在于父表;2.级联更新:父表主键值变动时自动更新所有引用;3.级联删除:父表主键值删除时自动删除所有引用。
MySQL 外键约束语法
在 MySQL 中,外键约束用于确保两个表之间的关系完整性。其语法如下:
<code>ALTER TABLE child_table
ADD FOREIGN KEY (foreign_key_column)
REFERENCES parent_table (primary_key_column)</code>
其中:
-
child_table
:需要添加外键约束的表。 -
foreign_key_column
:child_table
中引用parent_table
主键的列。 -
parent_table
:被引用的表,其主键用于定义约束。 -
primary_key_column
:parent_table
中被引用的主键列。
外键约束的作用
外键约束有助于确保以下事项:
- 数据完整性:防止在子表中插入没有在父表中存在的引用。
- 级联更新:当父表中的主键值更改时,自动更新所有引用子表中的值。
- 级联删除:当父表中的主键值被删除时,自动删除所有引用子表中的值。
示例
假设我们有两个表:orders
和 order_items
:
<code>CREATE TABLE orders (
order_id INT NOT NULL AUTO_INCREMENT,
customer_id INT NOT NULL,
PRIMARY KEY (order_id)
);
CREATE TABLE order_items (
item_id INT NOT NULL AUTO_INCREMENT,
order_id INT NOT NULL,
product_id INT NOT NULL,
PRIMARY KEY (item_id),
FOREIGN KEY (order_id) REFERENCES orders (order_id)
);</code>
在此示例中,order_items
表的外键约束确保了每个 order_id
值在 orders
表中都存在。这意味着我们无法在 order_items
表中插入没有在 orders
表中存在的 order_id
值。
以上就是mysql建表外键约束怎么写的详细内容,更多请关注编程网其它相关文章!