找到 4219 篇文章 关于 MySQLi

当父表中的记录被删除时,维护子表数据完整性的不同方法有哪些?

Lakshmi Srinivas
更新于 2020年6月19日 13:26:49

285 次浏览

当两个表通过外键连接,并且父表中的数据被删除时,该记录也存在于子表中,那么以下是一些维护数据完整性的方法:删除级联此选项也将从子表中删除记录,如果该外键值从主表中删除。删除置空此选项将把子表中该记录的所有值设置为 NULL,其中外键值从主表中删除。

如何禁用 MySQL 外键检查以及禁用它的好处是什么?

Rama Giri
更新于 2020年6月19日 13:27:24

251 次浏览

我们可以使用以下语句禁用外键检查:mysql> Set foreign_key_checks = 0; 查询成功,0 行受影响 (0.00 秒)我们可以使用以下语句启用它:mysql> Set foreign_key_checks = 1; 查询成功,0 行受影响 (0.00 秒)禁用外键检查的一些好处如下:禁用外键检查后,我们可以按任意顺序将数据加载到父表和子表中。否则,我们必须先将数据加载到父表,然后再加载到子表中。在不禁用外键检查的情况下,我们无法删除 ... 阅读更多

如何从现有 MySQL 表的列中删除 FOREIGN KEY 约束?

George John
更新于 2019年7月30日 22:30:21

10K+ 次浏览

我们可以使用 DROP 关键字以及 ALTER TABLE 语句从现有表的列中删除 FOREIGN KEY 约束。语法 ALTER TABLE 表名 DROP FOREIGN KEY 约束名此处约束名是我们创建表时应用的外键约束的名称。如果未指定约束名,则 MySQL 将提供约束名,可以通过 SHOW CREATE TABLE 语句进行检查。示例以下查询将从“orders”表中删除 FOREIGN KEY 约束:mysql> Alter table orders DROP FOREIGN KEY orders_ibfk_1; 查询成功,0 行受影响 (0.22 秒) ... 阅读更多

INT 数据类型的 ZEROFILL 的用法是什么?

Ramu Prasad
更新于 2020年1月28日 07:18:28

173 次浏览

为数值列指定 ZEROFILL 时,MYSQL 会自动用零填充字段的显示值,直到列定义中指定的显示宽度。例如,我们创建一个名为 showzerofill 的表并插入值,如下所示:mysql> Create Table showzerofill(Val1 INT(5) ZEROFILL, Val2 INT(5)); 查询成功,0 行受影响 (0.09 秒) mysql> Insert into showzerofill(Val1, Val2) values(1, 1>, , , , ; 查询成功,5 行受影响 (0.03 秒) 记录:5 重复:0 警告:0现在我们可以很容易地理解 ZEROFILL 对列 Val1 的值的影响。ZEROFILL 在数字中填充零,直到 ... 阅读更多

如果我从 MySQL 父表中删除一行会发生什么?

karthikeya Boyini
更新于 2020年1月28日 07:19:14

1K+ 次浏览

从父表中删除行时,如果该行的信息在子表中使用,则由于 FOREIGN KEY 约束失败,MySQL 将抛出一个错误。可以通过名为“customer”和“orders”的两个表的示例来理解。这里,“customer”是父表,“orders”是子表。我们无法从“customer”表中删除在子表“orders”中使用的行。可以通过从父表中删除值来演示这一点:mysql> Select * from Customer; +----+--------+ | id | name ... 阅读更多

当两个表使用 MySQL FOREIGN KEY 连接时,我们如何才能说子表中的数据完整性得到了维护?

Swarali Sree
更新于 2020年1月28日 07:12:54

153 次浏览

实际上,外键强制引用完整性,这有助于我们自动维护数据的一致性和完整性。可以通过名为“customer”和“orders”的两个表的示例来理解。这里,“customer”是父表,“orders”是子表。我们不能为不存在的客户创建订单。可以通过在两个表中插入值来演示这一点:mysql> Select * from Customer; +----+--------+ | id | name   | +----+--------+ | 1  | Gaurav | | 2  | Raman  | | 3  | Harshit| | 4  | Aarav  | ... 阅读更多

在 FOREIGN KEY 约束的情况下,MySQL 父表和子表之间存在什么样的关系?

Vikyath Ram
更新于 2020年1月28日 07:11:41

384 次浏览

父表和子表之间的关系是一对多关系。可以通过名为“customer”和“orders”的两个表的示例来理解。这里,“customer”是父表,“orders”是子表。这种关系是一对多,因为一个客户可以有多个订单。可以通过在两个表中插入值来演示这一点:mysql> Select * from Customer; +----+---------+ | id | name    | +----+---------+ | 1  | Gaurav  | | 2  | Raman   | | 3  | Harshit | | 4  | Aarav   | +----+---------+ ... 阅读更多

如何为 MySQL 表的多个字段添加 FOREIGN KEY 约束?

Srinivas Gorla
更新于 2020年6月19日 11:58:10

805 次浏览

MySQL 允许我们在表的多个字段上添加 FOREIGN KEY 约束。条件是子表中的每个外键必须引用不同的父表。示例假设我们有一个名为“customer2”的表,它在字段“cust_unq_id”上具有主键约束,如下所示:mysql> describe customer2; +-------------+-------------+------+-----+---------+-------+ | Field       | Type        | Null | Key | Default | Extra | +-------------+-------------+------+-----+---------+-------+ | cust_id     | int(11)     | YES  |     | NULL    |       | | First_name  | ... 阅读更多

如何为现有 MySQL 表的字段添加 FOREIGN KEY 约束?

Ankitha Reddy
更新于 2019年7月30日 22:30:21

2K+ 次浏览

我们可以使用 ALTER TABLE 语句为现有 MySQL 表的列添加 FOREIGN KEY 约束。语法 ALTER TABLE 表名 ADD FOREIGN KEY (列名) REFERENCES 具有主键的表(列名);示例假设我们想要在表“Orders1”上添加一个 FOREIGN KEY 约束,引用具有列“Cust_Id”作为主键的表“Customer”。可以使用以下查询完成:mysql> Alter table orders1 add FOREIGN KEY(Cust_id) REFERENCES Customer(Cust_id); 查询成功,0 行受影响 (0.21 秒) 记录:0  重复:0  警告:0   mysql> ... 阅读更多

如何删除应用于现有 MySQL 表的多个列的复合 PRIMARY KEY 约束?

Govinda Sai
更新于 2020年6月19日 11:56:51

4K+ 次浏览

我们可以使用 DROP 关键字以及 ALTER TABLE 语句从现有表的多个列中删除复合 PRIMARY KEY 约束。示例假设我们有一个名为“Room_allotment”的表,它在列“ID”和“RoomNo”上具有复合 PRIMARY KEY 约束,如下所示:mysql> describe room_allotment; +--------+-------------+------+-----+---------+-------+ | Field  | Type        | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+-------+ | id     | int(11)     | NO   | PRI | 0       |       | | Name   | varchar(20) | NO   | PRI |         ... 阅读更多

广告