Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

जाँच बाधा mysql काम नहीं करेगी

MySQL चेक बाधाओं को लागू नहीं करता है।

यह SQL मानक से एक अच्छी तरह से प्रलेखित विचलन है। (हालांकि यह अनपेक्षित द्वारा अप्रत्याशित है।)

यदि आपको "चेक बाधा" लागू करने के लिए MySQL डेटाबेस की आवश्यकता है, तो प्रवर्तन को BEFORE INSERT में कोडित किया जाना चाहिए। और एक BEFORE UPDATE ट्रिगर।

यह नोट:

MySQL संदर्भ नियमावली में CREATE TABLE . के अंतर्गत दफ़न किया गया है वाक्य रचना।

संदर्भ:https://dev.mysql.com/doc /refman/5.5/hi/create-table.html

ENUM के बारे में चेतावनी

एक ENUM "अमान्य" मानों को सम्मिलित करने से प्रतिबंधित नहीं करता है; एक अमान्य मान को शून्य लंबाई वाली स्ट्रिंग में अनुवादित किया जाता है, एक चेतावनी जारी की जाती है, लेकिन यह कोई त्रुटि नहीं है।

प्रदर्शन:

CREATE TABLE foo (gen ENUM('M','F'))

INSERT INTO foo (gen) VALUES ('x')

-- Warning Code : 1265
-- Data truncated for column 'gen' at row 1

SELECT gen, CHAR_LENGTH(gen) FROM foo;

-- gen  CHAR_LENGTH(gen)  
-- ---  ----------------
--                     0


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP SQL इंजेक्शन प्रयास का पता लगाता है

  2. तालिका 2 से तालिका 1 अपडेट करें

  3. MySQL/PDO::quote(), पूर्णांकों के आसपास सिंगल कोट्स डालना

  4. जावा बाइट सरणी को पायथन बाइट सरणी में बदलें

  5. कक्षा yii\db\Command का ऑब्जेक्ट स्ट्रिंग में परिवर्तित नहीं किया जा सका