2012-03-13 184 views
0

我正在使用MySQL Workbench創建數據庫。我定義的表稱爲用戶,如下:MySQL錯誤1054:INSERT中'字段列表'中的未知列

delimiter $$ 

CREATE TABLE `users` (
    `UID` int(10) unsigned NOT NULL AUTO_INCREMENT 
    `USERNAME` varchar(20) NOT NULL, 
    `PASSWORD` varchar(64) NOT NULL 
    PRIMARY KEY (`UID`), 
    UNIQUE KEY `USER_NAME_UNIQUE` (`USERNAME`), 
    KEY `USERS_ROLES_REF_IDX` (`USER_ROLE`), 
    CONSTRAINT `USERS_ROLES_REF` FOREIGN KEY (`USER_ROLE`) REFERENCES `roles_ref` (`ROLE_NAME`) 
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8$$ 

CREATE 
DEFINER=`root`@`localhost` 
TRIGGER `MyDB`.`users_after_ins_trig` 
AFTER INSERT ON `MyDB`.`users` 
FOR EACH ROW 
begin 
    insert into profiles (username) VALUES (new.username); 
end 
$$ 

當我去正向工程數據庫和創建它,劇本給了我下面的錯誤。正如你從上面看到的,用戶名是表的一部分。是什麼賦予了?

Executing SQL script in server 

ERROR: Error 1054: Unknown column 'username' in 'field list' 

INSERT INTO `MyDB`.`USERS` (`UID`, `USERNAME`, `PASSWORD`) 
VALUES (NULL, 'user1', 'blahpassword') 
+0

我們看到'用戶'的模式,但不是'profiles'。 – 2012-03-13 21:34:24

回答

4

難道你是從你的觸發器插入profiles?我猜profiles沒有用戶名列。

+1

我只需要第二組眼睛。謝謝!!! – Adam 2012-03-13 21:49:26

+1

觸發器是棘手的小混蛋 – 2012-03-13 21:57:33

+0

+1它幫助我調試我的觸發器 – 2013-07-18 06:17:19

相關問題