[英]NEW TO SQL, INSERT INTO 'TABLE' Error
我是SQL的新手,我的語法有一個我不理解的錯誤。 任何幫助/建議嗎?
我創建了一個名為ACCOUNT的表
CREATE TABLE `ACCOUNT` (
`acc_ID` INT NOT NULL,
`acc_name` VARCHAR(45) NOT NULL,
`acc_manager` VARCHAR(45) NOT NULL,
`acc_balance` VARCHAR(45) NOT NULL,
`acc_transactionLimit` INT NOT NULL,
`acc_creditLimit` INT NOT NULL,
`OUTLET_out_ID` INT NOT NULL,
PRIMARY KEY (`acc_ID`),
INDEX `fk_ACCOUNT_OUTLET1_idx` (`OUTLET_out_ID` ASC),
CONSTRAINT `fk_ACCOUNT_OUTLET1`
FOREIGN KEY (`OUTLET_out_ID`)
REFERENCES `OUTLET` (`out_ID`)
ON DELETE NO ACTION
ON UPDATE NO ACTION);
到目前為止沒有問題。 但是,當我嘗試將記錄插入表中時,出現以下錯誤:
錯誤1452(23000):無法添加或更新子行:外鍵約束失敗(Database.ACCOUNT,CONSTRAINT fk_ACCOUNT_OUTLET1外鍵(OUTLET_out_ID)參考出口(out_ID))
我檢查了我的出口參考表:
CREATE TABLE `OUTLET` (
`out_ID` INT NOT NULL,
`out_name` VARCHAR(45) NOT NULL,
`out_manager` VARCHAR(45) NOT NULL,
`out_address` VARCHAR(100) NOT NULL,
`out_phone` VARCHAR(15) NOT NULL,
`out_email` VARCHAR(45) NULL,
PRIMARY KEY (`out_ID`))
我沒有發現任何問題。
但是,當嘗試插入時:
INSERT INTO ACCOUNT(acc_ID, acc_name, acc_manager, acc_balance, acc_transactionLimit, acc_creditLimit) VALUES
( 01, 'White', 'Mr.Good', '352.00', 1000.00, 500.00),
( 02, 'Hopkins', 'Mr.Good', '403.00', 1000.00, 500.00),
( 03, 'Aumbry', 'Mr.Good', '240.00', 1000.00, 500.00),
( 04, 'Kaze', 'Mr.Good', '76.00', 1000.00, 500.00),
( 05, 'Ashley', 'Mr.Bad', '24.00', 1000.00, 500.00),
( 06, 'Zoara', 'Mr.Bad', '503.00', 1000.00, 500.00),
( 07, 'Shawn', 'Mr.Bad', '34.00', 1000.00, 500.00),
( 08, 'Obsie', 'Mr.Bad', '278.00', 1000.00, 500.00),
( 09, 'Ven', 'Mr.Mr.Bad', '345.00', 1000.00, 500.00),
( 10, 'Zhan', 'Mr.Mr.Bad', '491.00', 1000.00, 500.00);
我收到上述錯誤。
您需要將數據插入到OUTLET_out_ID
引用的Outlet表中,因為這是NON-NULL
列,但是是foreign key
但尚未創建鍵,因此您需要相應地對插入進行重新排序。
您也不能跳過此值,因為它是NON-NULL
並且當前插入失敗,因為您沒有給它提供有效的外鍵引用。
將數據插入你的外鍵約束首先源表,然后將賬戶數據第二 。
另外,插入到“出口”表中的數據需要與外鍵指示的“帳戶”表中引用的值相對應。
我個人認為,在這些數據插入情況下,簡單地插入沒有FK約束的數據並在插入數據后添加這些條件會更容易。 親身。
很高興看到您的OUTLET
表腳本; 但是,這里還有一些更明顯的東西:字段OUTLET_out_ID
設置為NOT NULL
並且您的INSERT腳本沒有該字段的值。
因此,將該字段修改為OUTLET_out_ID INT NULL
或將值包括在INSERT
查詢中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.