Προς το περιεχόμενο

mysql insert else update error


Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα. Θέλω να κάνω το εξης:

Αν δεν υπάρχει μια εγγραφή στον πίνακα θέλω να την εισάγω,

αλλιώς θέλω να την ανανεώσω.

 

Ψάχνοντας βρήκα ότι πρέπει να γράψω κάτι τέτοιο

IF EXISTS (SELECT 1 FROM ShouldPay WHERE TeacherID = 212 AND GroupID=29) THEN  
BEGIN 
      UPDATE ShouldPay SET Amount=23.45 , Updated=CURDATE() WHERE TeacherID=212 and GroupID=29 ; 
END 
ELSE 
BEGIN 
   INSERT INTO ShouldPay  (TeacherID,Amount, GroupID, Updated) VALUES (212,23.45,29,CURDATE()); 
END 

το οποίο όμως  μου βγάζει syntax error :(

Δημοσ.

Η δομή του πίνακα είναι αυτή

CREATE TABLE IF NOT EXISTS `ShouldPay` (
  `AccID` int(11) NOT NULL,
  `TeacherID` int(11) NOT NULL,
  `Amount` float NOT NULL,
  `GroupID` int(11) NOT NULL,
  `Updated` date NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;

To AccID είναι primary key auto increment τα groupid,teacherid είναι foreign keys

 

 

edit: τελικά το λυσα με το INSERT ON DUPLICATE KEY UPDATE

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...