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

SQL सर्वर त्रुटि 1934 INSERT पर गणना कॉलम PHP/PDO के साथ तालिका में होती है

पता चलता है कि समस्या को SET मापदंडों के साथ करना था। मैंने यहां . यह निर्धारित करने के लिए कि SQL सर्वर प्रबंधन स्टूडियो में कौन से विकल्प सेट किए गए थे (जहाँ सम्मिलित कार्य किया गया था)। फिर उनमें से प्रत्येक को मेरे सम्मिलित विवरण से पहले निष्पादन में रखने से चीजें फिर से काम करने लगीं। मुझे सभी विकल्पों को रखने की आवश्यकता नहीं थी, इसलिए नीचे मैं उन्हें दिखाता हूँ जो इसे काम करने के लिए आवश्यक थे।

DECLARE @options INT
SELECT @options = @@OPTIONS

PRINT @options
IF ( (1 & @options) = 1 ) PRINT 'DISABLE_DEF_CNST_CHK' 
IF ( (2 & @options) = 2 ) PRINT 'IMPLICIT_TRANSACTIONS' 
IF ( (4 & @options) = 4 ) PRINT 'CURSOR_CLOSE_ON_COMMIT' 
IF ( (8 & @options) = 8 ) PRINT 'ANSI_WARNINGS' 
IF ( (16 & @options) = 16 ) PRINT 'ANSI_PADDING' 
IF ( (32 & @options) = 32 ) PRINT 'ANSI_NULLS' 
IF ( (64 & @options) = 64 ) PRINT 'ARITHABORT' 
IF ( (128 & @options) = 128 ) PRINT 'ARITHIGNORE'
IF ( (256 & @options) = 256 ) PRINT 'QUOTED_IDENTIFIER' 
IF ( (512 & @options) = 512 ) PRINT 'NOCOUNT' 
IF ( (1024 & @options) = 1024 ) PRINT 'ANSI_NULL_DFLT_ON' 
IF ( (2048 & @options) = 2048 ) PRINT 'ANSI_NULL_DFLT_OFF' 
IF ( (4096 & @options) = 4096 ) PRINT 'CONCAT_NULL_YIELDS_NULL' 
IF ( (8192 & @options) = 8192 ) PRINT 'NUMERIC_ROUNDABORT' 
IF ( (16384 & @options) = 16384 ) PRINT 'XACT_ABORT'

यहां वे विकल्प दिए गए हैं जिनकी मुझे आवश्यकता थी:

$dbPDO->exec("SET ANSI_WARNINGS ON");                                                                               
$dbPDO->exec("SET ANSI_PADDING ON");
$dbPDO->exec("SET ANSI_NULLS ON");
$dbPDO->exec("SET QUOTED_IDENTIFIER ON");
$dbPDO->exec("SET CONCAT_NULL_YIELDS_NULL ON");

अद्यतन:ऐसा लगता है कि FK बाधाओं के परिणामस्वरूप निम्न त्रुटि हुई। उपरोक्त ने इस त्रुटि को भी ठीक किया।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर कर्सर के लिए चरणों को परिभाषित करें - SQL सर्वर / TSQL ट्यूटोरियल

  2. SQL WHERE क्लॉज मिलान मान अनुगामी रिक्त स्थान के साथ

  3. SQL डेटाबेस को आसानी से पुनर्स्थापित करें - चरण दर चरण मार्गदर्शिका

  4. शीर्ष पंक्तियों का चयन करें जब तक कि विशिष्ट कॉलम में मान दो बार दिखाई न दे

  5. SQL का उपयोग करके अद्वितीय यादृच्छिक संख्याएँ उत्पन्न करें