2012-03-13 28 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

「ユーザー」のスキーマは表示されますが、「プロファイル」は表示されません。 –

答えて

4

トリガーからprofilesに挿入されている可能性はありますか?私はprofilesはユーザー名列を持っていないと思います。

+1

私は目の第二のセットが必要でした。ありがとう!!! – Adam

+1

トリガーは微妙な小悪魔です –

+0

+1トリガーをデバッグするのに役立ちます –

関連する問題