我創建了一個表,其中 Identity_no 是唯一的,但是當我嘗試添加一個帶有 8 個數字的整數值時出現錯誤。可能我收到此錯誤是因為我確定了 Identity_no 的唯一性。我該如何解決這里是代碼創建表:
CREATE TABLE Members(
Member_id INTEGER PRIMARY KEY AUTO_INCREMENT NOT NULL,
Identity_no INTEGER NOT NULL UNIQUE,
Member_Name varchar(80) NOT NULL,
Member_Surname varchar(80) NOT NULL,
Member_Phone CHAR(11),
MemberCityID INTEGER NOT NULL,
FOREIGN KEY(MemberCityID) REFERENCES Cities(City_id));
添加資料的代碼如下:
INSERT INTO Members
(Member_id,Identity_no,Member_Name,Member_Surname,Member_Phone,MemberCityID)
VALUES
(1,89768434566,"John","W","05379621522",78);
uj5u.com熱心網友回復:
該INTEGER型別是一個 32 位有符號整數,這意味著大于 2^31 的數字不能存盤在具有此型別的列中。使用BIGINT來代替:
CREATE TABLE Members(
Member_id INTEGER PRIMARY KEY AUTO_INCREMENT NOT NULL,
Identity_no BIGINT NOT NULL UNIQUE,
Member_Name varchar(80) NOT NULL,
Member_Surname varchar(80) NOT NULL,
Member_Phone CHAR(11),
MemberCityID INTEGER NOT NULL,
FOREIGN KEY(MemberCityID) REFERENCES Cities(City_id));
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/393644.html
標籤:mysql
下一篇:選擇列只顯示第一列
