找到 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 |         ... 閱讀更多

廣告
© . All rights reserved.