Latinoking Posted October 17, 2007 Report Share Posted October 17, 2007 Kaads var pateikt vai ir iepeejams un ja ir tad kaa var mysql fieldiem uzlikt ierobezzojumu piemeeram var ievadiit skaitli tikai no 10 līdz 30 utt? Link to comment Share on other sites More sharing options...
Roze Posted October 17, 2007 Report Share Posted October 17, 2007 Nu uz pašiem laukiem šāda veida restrikciju uzlikt nevar, taču teorētiski ir iespējams uzrakstīt BEFORE trigeri kas izpildās pirms INSERT un pārbauda attiecīgās lietas: http://dev.mysql.com/doc/refman/5.0/en/using-triggers.html Bet vienkāršāk jau to ir pārbaudīt klienta (ar php vai javascriptu). Link to comment Share on other sites More sharing options...
Gints Plivna Posted October 17, 2007 Report Share Posted October 17, 2007 Pēc MySQL manuāļa spriežot MySQLs check constraintus parsē bet neenforcē (kā man patīk šāds formulējums! ;) Bet kaut kas ir šite: http://gilfster.blogspot.com/2005/11/check...n-mysql-50.html Gints Plivna http://datubazes.wordpress.com Link to comment Share on other sites More sharing options...
Roze Posted October 17, 2007 Report Share Posted October 17, 2007 Bet kaut kas ir šite:http://gilfster.blogspot.com/2005/11/check...n-mysql-50.html A kas tad tur ir? p.s. Pēc MySQL manuāļa spriežot MySQLs check constraintus parsē bet neenforcē (kā man patīk šāds formulējums! ;) MySQL ir dažādas modes.. atkarīgi no tās izmainās kas tiek un teiek enforcēts :) http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html Link to comment Share on other sites More sharing options...
Gints Plivna Posted October 18, 2007 Report Share Posted October 18, 2007 A kas tad tur ir? Pateikts, ka: 1. MySQL nesupportē check constraintus 2. ar trigeriem arī to nevar normali izdarōt jo nevar raizot kļūdu 3. njā - dots links, kur it kā ir pateikts ka to var izdarōt bet links nestrādā :( 4. dots links uz saitu kur pateikts ka to var izdarōt ar updateable views Nu tā kā kaut kāda info ir, ka to nevar izdarīt veidos X un Y bet var izdarīot veidā Z. p.s.MySQL ir dažādas modes.. atkarīgi no tās izmainās kas tiek un teiek enforcēts :) http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html Nu kā es sapratu tad neviena no modēm gan CHECK constraintus neenforcē jebkurā gadījumā? Gints Plivna http://datubazes.wordpress.com/ Link to comment Share on other sites More sharing options...
Roze Posted October 18, 2007 Report Share Posted October 18, 2007 2. ar trigeriem arī to nevar normali izdarōt jo nevar raizot kļūdu Var izmantot RETURN FALSE teorētiska sample: delimiter // CREATE TRIGGER taable_check_values BEFORE INSERT ON taable FOR EACH ROW BEGIN IF NEW.lauks > 30 OR NEW.lauks < 10 THEN RETURN FALSE; END IF; END; // delimiter; Link to comment Share on other sites More sharing options...
Recommended Posts