Comparing dates in a BEFORE INSERT trigger I need help making a TRIGGER that compares two dates being entered into a table, but I'm not 100% on the syntax I should use.

Something like:

CREATE TRIGGER chk_dates
   BEFORE INSERT ON `job_history`
   FOR EACH ROW
    BEGIN
      IF( NEW.end_date &lt; OLD.start_date ) .../// error, don't insert data
      ELSE .../// allow the data to be entered


My table job_history will have a start_date, and when end_date is entered, I want it to check to ensure that it isn't prior to start_date.  

How do I accomplish this?
With MySQL 5.5 or 5.6, you can use SIGNAL instead of the hacks to bail from a trigger.

Also, on a BEFORE INSERT trigger, only the NEW alias is used.  Not OLD.

CREATE TRIGGER chk_dates
BEFORE INSERT ON `job_history`
FOR EACH ROW
BEGIN
  IF (NEW.end_date &lt; NEW.start_date) THEN
    SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'end_date cannot be earlier than start_date';
  END IF;
END;


No "else" is needed because taking no action in a BEFORE trigger allows the original action to proceed.