MySQL错误1054:INSERT上“字段列表”中的未知列

时间:2012-03-13 21:31:00

标签: mysql database

我正在使用MySQL Workbench来创建数据库。我有一个名为USERS的表定义如下:

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')

1 个答案:

答案 0 :(得分:4)

您是否正在从触发器插入profiles?我猜profiles没有用户名栏。