Operand type clash: int is incompatibel met date + De INSERT-instructie is in strijd met de FOREIGN KEY-beperking

Mijn vraag is dat er een fout zit in elke invoeging

Operand type clash: int is niet compatibel met datum

Hoe dit op te lossen?


Ook hier …

create table employee (
emp_num int,
constraint PK_employee primary key (emp_num),
foreign key(emp_num) references pilot(emp_num),
emp_title varchar (4),
emp_lname varchar (20),
emp_fname varchar (30),
emp_initial varchar (2),
emp_dob date,
emp_hire_date date, 
)
insert into employee(emp_num,emp_title,emp_lname,emp_fname,emp_initial,emp_dob,emp_hire_date)
values (100,'Mr.','Kolmycz','George','D',15-5-1942,15-3-1987)
insert into employee(emp_num,emp_title,emp_lname,emp_fname,emp_initial,emp_dob,emp_hire_date)
values (101,'Ms.','Lewis','Rhonda','G',19-3-1965,25-4-1988)
insert into employee(emp_num,emp_title,emp_lname,emp_fname,emp_initial,emp_dob,emp_hire_date)
values (102,'Mr.','Vandam','Rhett',' ',14-11-1958,20-12-1992)
insert into employee(emp_num,emp_title,emp_lname,emp_fname,emp_initial,emp_dob,emp_hire_date)
values (103,'Ms.','Jones','Anne','M',16-10-1974,28-8-2005)
insert into employee(emp_num,emp_title,emp_lname,emp_fname,emp_initial,emp_dob,emp_hire_date)
values (104,'Mr.','Lange','John','P',08-11-1971,20-10-1996)
insert into employee(emp_num,emp_title,emp_lname,emp_fname,emp_initial,emp_dob,emp_hire_date)
values (105,'Mr.','williams','Robert','D',14-3-1975,08-1-2006)
insert into employee(emp_num,emp_title,emp_lname,emp_fname,emp_initial,emp_dob,emp_hire_date)
values (106,'Mrs.','Duzak','Jeanine','K',12-2-1968,05-1-1991)
insert into employee(emp_num,emp_title,emp_lname,emp_fname,emp_initial,emp_dob,emp_hire_date)
values (107,'Mr.','Diante','Jorge','D',21-8-1974,05-1-1991)
insert into employee(emp_num,emp_title,emp_lname,emp_fname,emp_initial,emp_dob,emp_hire_date)
values (108,'Mr.','Wlesenbach','Paul','R',14-2-1966,18-11-1994)
insert into employee(emp_num,emp_title,emp_lname,emp_fname,emp_initial,emp_dob,emp_hire_date)
values (109,'Ms.','Travis','Elizabeth','K',18-6-1961,14-4-1991)
insert into employee(emp_num,emp_title,emp_lname,emp_fname,emp_initial,emp_dob,emp_hire_date)
values (110,'Mrs.','Genkazi','Leighla','W',19-5-1970,01-12-1992)        

Msg 547, niveau 16, staat 0, regel 1
De INSERT-instructie was in strijd met de FOREIGN KEY-beperking “FK__crew__emp_num__0F975522”. Het conflict deed zich voor in database “melisa”, tabel “dbo.employee”, kolom ’emp_num’. fout aan
deze tafel

create table earndrating(
emp_num int,
constraint PK_earndarating primary key(emp_num, rtg_code),
rtg_code varchar(6),
foreign key (emp_num) references pilot(emp_num),
foreign key(rtg_code) references rating(rtg_code),
earningth_date varchar(20),
)
    insert into earndrating(emp_num,rtg_code,earningth_date)
    values(101,'CFI','18-Feb-98' )
    insert into earndrating(emp_num,rtg_code,earningth_date)
    values(101,'CFII','14-Dec-05' )
    insert into earndrating(emp_num,rtg_code,earningth_date)
    values(101,'INSTR','08-Nov-93' )
    insert into earndrating(emp_num,rtg_code,earningth_date)
    values(101,'MEL','23-Jun-94' )
    insert into earndrating(emp_num,rtg_code,earningth_date)
    values(101,'SEL','21-Apr-93' )
    insert into earndrating(emp_num,rtg_code,earningth_date)
    values(104,'INSTR','14-Jul-96' )
    insert into earndrating(emp_num,rtg_code,earningth_date)
    values(104,'MEL','29-Jan-97' )
    insert into earndrating(emp_num,rtg_code,earningth_date)
    values(104,'SEL','12-Mar-95' )
    insert into earndrating(emp_num,rtg_code,earningth_date)
    values(105,'CFI','18-Nov-97' )
    insert into earndrating(emp_num,rtg_code,earningth_date)
    values(105,'INSTR','17-Apr-95' )
    insert into earndrating(emp_num,rtg_code,earningth_date)
    values(105,'MEL','12-Aug-95' )
    insert into earndrating(emp_num,rtg_code,earningth_date)
    values(105,'SEL','23-Sep-94' )
    insert into earndrating(emp_num,rtg_code,earningth_date)
    values(106,'INSTR','20-Dec-95' )
    insert into earndrating(emp_num,rtg_code,earningth_date)
    values(106,'MEL','02-Apr-95' )
    insert into earndrating(emp_num,rtg_code,earningth_date)
    values(105,'SEL','10-Mar-94' )
    insert into earndrating(emp_num,rtg_code,earningth_date)
    values(109,'CFI','05-Nov-98' )
    insert into earndrating(emp_num,rtg_code,earningth_date)
    values(109,'CFII','21-Jun-03' )
    insert into earndrating(emp_num,rtg_code,earningth_date)
    values(109,'INSTR','23-Jul-96' )
    insert into earndrating(emp_num,rtg_code,earningth_date)
    values(109,'MEL','15-Marc-97' )
    insert into earndrating(emp_num,rtg_code,earningth_date)
    values(109,'SEL','05-Feb-96' )
    insert into earndrating(emp_num,rtg_code,earningth_date)
    values(109,'SES','12-May-96' )

Antwoord 1, autoriteit 100%

Deze uitdrukking 12-4-2005is een berekende int en de waarde is -1997. Doe dit in plaats daarvan '2005-04-12'met de 'ervoor en erna.


Antwoord 2, autoriteit 9%

Probeer uw datums tussen enkele aanhalingstekens te plaatsen, zoals dit:

'15-6-2005'

Het zou de datum op deze manier moeten kunnen ontleden.


Antwoord 3, autoriteit 9%

Ter info, dit bleek een probleem voor mij te zijn waar ik twee tabellen had in een statement zoals het volgende:

SELECT * FROM table1
UNION ALL
SELECT * FROM table2

Het werkte, maar ergens langs de lijn werd de volgorde van kolommen in een van de tabeldefinities gewijzigd. Het wijzigen van de *in SELECT column1, column2loste het probleem op. Geen idee hoe dat gebeurde, maar les geleerd!


Antwoord 4, autoriteit 2%

Ik had hetzelfde probleem. Ik heb de indeling ‘jjjj-mm-dd’, d.w.z. ‘2013-26-11’ geprobeerd en van dit probleem afgekomen…

Other episodes