插入错误1241

时间:2013-04-06 15:55:31

标签: mysql database sql-insert

我有两个MySQL INNODB表'学生'和'讲师'。它们几乎在每一种方式都是类似的。我可以将任意记录添加到'student'表中,但不能添加'讲师'表。两个表都具有相同的结构,ID为主键。

(ID varchar,name varchar,dept_name,varchar,field4 int)

我尝试了诸如

之类的查询
INSERT INTO instructor VALUES ('12345', 'name', 'computer science', 50000);
INSERT INTO instructor SET ID = 67890, name = 'Polson', dept_name = 'Bioinformatics', salary = 100 ON DUPLICATE KEY SET name = 'Polson', dept_name = 'Bioinformatics', salary = 100;    
INSERT INTO instructor (ID) VALUES ('12345');
INSERT INTO instructor (ID) VALUE ('12345');

所有这些查询都与'student'表一起使用。发生了什么事?

这是我的create table语句。我的用户拥有完全权限。我是否应该使用任何状态查询来查找问题?谢谢!

CREATE TABLE `instructor` (
  `ID` varchar(5) NOT NULL DEFAULT '',
  `name` varchar(20) DEFAULT NULL,
  `dept_name` varchar(25) DEFAULT NULL,
  `salary` decimal(10,2) DEFAULT NULL,
  PRIMARY KEY (`ID`),
  KEY `dept_name` (`dept_name`),
  CONSTRAINT `instructor_ibfk_1` FOREIGN KEY (`dept_name`) REFERENCES `department` (`dept_name`) ON DELETE SET NULL ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1

CREATE TABLE `student` (
  `ID` varchar(10) NOT NULL DEFAULT '',
  `name` varchar(20) DEFAULT NULL,
  `dept_name` varchar(25) DEFAULT NULL,
  `total_credits` int(11) DEFAULT NULL,
  PRIMARY KEY (`ID`),
  KEY `dept_name` (`dept_name`),
  CONSTRAINT `student_ibfk_1` FOREIGN KEY (`dept_name`) REFERENCES `department` (`dept_name`) ON DELETE SET NULL ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1

CREATE TABLE department ( 
 dept_name varchar(25) NOT NULL DEFAULT '',
 building varchar(15) DEFAULT NULL,
 budget float(12,2) DEFAULT NULL, 
 PRIMARY KEY (dept_name) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 

其中包含记录生物信息学| DBI | 1000000.00

0 个答案:

没有答案