MySql错误代码1136列计数与第1行的值计数不匹配

时间:2014-04-14 02:50:24

标签: mysql workbench mysql-error-1136

嗨,我几乎已经完成了这张桌子,但我遇到了一个我无法解决的问题。

我一直收到错误1136,Column doesn't match value count for row 1VisitID,因此它是一个数据类型问题,但我无法弄明白。

我执行的代码是访问表代码,如下所示:

Create Schema Visit;


create table roomtableS(
RoomID char (2)     not null,
RoomNum char (2)    not null,
Charge integer not null,
CONSTRAINT RoomTable_PK Primary Key(RoomID));


Insert into roomtableS values
('01','1A',125.00),
('02','1A',150.00),
('03','1A',100.00),
('04','1A',200.00),
('05','2B',150.00),
('06','2B',125.00),
('07','3C',200.00),
('08','3C',125.00),
('09','3C',100.00);





SELECT * FROM ROOMTABLES;


create table PATIENT(
PatientID    char(5)    not null, 
PatientName  Char(25) not null, 
PatientEmail     Char(30) null,
PatientPhoneNumber Char(10) null,
PatientAddress    Char(100) null,
constraint PATIENT_PK Primary key(PatientID));

insert PATIENT values
('P1', 'Bruce Willis', 'bwillis@mail.org', '2022223333', '1111 Cosmic dr'),
('P2', 'Demi Moore', 'moore@email.net', '2021113333', '1112 Cosmic dr'),
('P3', 'Andre Agassi', 'agassi@mail.org', '2023333333', '1113 Cosmic dr'),
('P4', 'Jet Lee', 'jetlee@email.net', '2023334444', '1114 Chinatown ct'),
('P5', 'Jim Carey', 'carey@email.net', '2023335555', '1115 United dr'),
('P6', 'Bruce Lee', 'bruce@gmail.com', '2023336666', '1115 Chinatown ct');

select* From PATIENT;




Create table SERVICETable(
ServiceID       Char (5) not null,
ServiceTreatment Char(25) not null,
ServiceCost     numeric  not null,
constraint  SERVICE_PK Primary Key(ServiceID));

insert SERVICETable values
('S1','Sore throat', 10.00),
('S2', 'Fever', 15.00),
('S3', 'Headache', 10.00),
('S4', 'Blood pressusre', 20.00),
('S5', 'Yearly checkup', 30.00),
('S6', 'Common cold', 15.00);

select* from SERVICETable;


Create Table doctortable(
DocID char (5)   NOT NULL,
DoctorFirstName char(15) Not NULL,
DoctorLastName char (15) Not Null,
DoctorPhone char (15) Not Null,
CONSTRAINT DoctorTable_PK Primary Key(DocID));


INSERT INTO doctortable values
('D1','Tim','Edward','555-123-4567'),
('D2','Andy','Smith','888-777-6666'),
('D3','John','Smith','222-321-7654');






Select * From doctortable;



Create Table visit(
VisitID char (2) not Null,
PatientID Char (5) not null,
DocID Char (5) not null,
ServiceID Char (5)  not Null,
RoomID char (2) not Null,
Visit date  not null,
CONSTRAINT   VISIT_PK    PRIMARY KEY (VisitID));



Alter table Visit 
add foreign key (PatientID)
references Patient (PatientID);


Alter table Visit 
add foreign key (DocID)
references doctortable (DocID);

Alter table Visit 
add foreign key (ServiceID)
references ServiceTable (ServiceID);

Alter table Visit 
add foreign key (RoomID)
references roomtableS (RoomID);


Insert into Visit (VisitID,RoomID,ServiceID,PatientID,Visit) values
**('1','P1','D1','S1','05','2014-01-03'),
('2','P2','D2','S2','01','2014-01-10'),
('3','P3','D1','S3','02','2014-01-10'),
('4','P4','D2','S4','07','2014-01-15'),
('5','P1','D3','S2','08','2014-01-10'),
('6','P5','D3','S5','03','2014-02-02'),
('7','P4','D1','S6','06','2014-01-10'),
('8','P3','D2','S5','03','2014-02-03'),
('9','P2','D3','S6','01','2014-02-04'),
('10','P3','D1','S2','06','2014-02-04'),
('11','P5','D2','S4','04','2014-02-05'),
('12','P4','D1','S5','09','2014-02-06');**
Select * from Visit;

1 个答案:

答案 0 :(得分:1)

最后一次插入有两个问题:字段DocId缺失但值仍然存在;字段和值之间的顺序不匹配。

应该是这样的:

Insert into Visit (VisitID,PatientID, DocID, ServiceID, RoomID,Visit) values
('1','P1','D1','S1','05','2014-01-03'),
('2','P2','D2','S2','01','2014-01-10'),
('3','P3','D1','S3','02','2014-01-10'),
('4','P4','D2','S4','07','2014-01-15'),
('5','P1','D3','S2','08','2014-01-10'),
('6','P5','D3','S5','03','2014-02-02'),
('7','P4','D1','S6','06','2014-01-10'),
('8','P3','D2','S5','03','2014-02-03'),
('9','P2','D3','S6','01','2014-02-04'),
('10','P3','D1','S2','06','2014-02-04'),
('11','P5','D2','S4','04','2014-02-05'),
('12','P4','D1','S5','09','2014-02-06');

您可以在sqlfiddle找到完整的工作代码。