欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql創建表時顯示錯誤1824

洪振霞2年前12瀏覽0評論

在使用MySQL創建表時,有時候會出現錯誤提示1824,這是什么原因呢?本文將為您解析這個錯誤及其解決方法。

mysql>CREATE TABLE student (
->id INT NOT NULL PRIMARY KEY,
->name VARCHAR(20) NOT NULL,
->age INT,
->sex CHAR(1)
->) ENGINE=InnoDB DEFAULT CHARSET=utf8;
ERROR 1824 (HY000): Failed to open the referenced table 'student' in the foreign key definition.

上面的代碼創建了一個包含學生編號、姓名、年齡和性別的表,使用InnoDB引擎,字符集為UTF-8。但是在執行CREATE TABLE語句時,會提示錯誤1824,表示在外鍵定義中無法打開引用的表'student'。

造成這個錯誤的原因是,在為student表定義外鍵時,該表還不存在。MySQL無法在引用外部表時找到相應的表,進而報錯。

解決方法也很簡單,只需要將定義外鍵的語句移到student表創建完畢之后再執行即可,如下:

mysql>CREATE TABLE student (
->id INT NOT NULL PRIMARY KEY,
->name VARCHAR(20) NOT NULL,
->age INT,
->sex CHAR(1)
->) ENGINE=InnoDB DEFAULT CHARSET=utf8;
mysql>CREATE TABLE score (
->id INT NOT NULL PRIMARY KEY,
->course VARCHAR(20),
->grade INT NOT NULL,
->student_id INT,
->FOREIGN KEY (student_id) REFERENCES student(id)
->) ENGINE=InnoDB DEFAULT CHARSET=utf8;

這樣就可以成功地創建兩個表,其中score表的外鍵引用了student表的id字段。