我想知道我這寫的沒有問題 ,可是為什么會報錯,求大佬解答
CREATE TABLE users(
? ? -> id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
? ? -> username varchar(10) NOT NULL,
? ? -> pid SAMLLINT UNSIGNED,
? ? -> FOREIGN KEY (pid) REFERENCES provinces (id)
? ? -> );
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SAMLLINT UNSIGNED,
FOREIGN KEY (pid) REFERENCES provinces (id)
)' at line 4
2019-06-05
//父表
CREATE TABLE province(
? ? -> id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
? ? -> name VARCHAR(30) NOT NULL
? ? -> );
//子表
CREATE TABLE users(
? ? -> id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
? ? -> name VARCHAR(30) NOT NULL,
? ? -> pid SMALLINT UNSIGNED ,
? ? -> FOREIGN KEY(pid) REFERENCES province(id)
? ? -> );
如果代碼沒有問題,檢查一下兩張表的存儲引擎是否一致。
SHOW CREATE TABLE? 表名
查看ENGINE的屬性
2019-06-05
SMALLINT寫錯了
2019-06-05
外鍵列的數據類型和參照列的數據類型是否一致?符號位是否一致?