मेरे पास निम्न कोड है:
$ fkQuery = "SELECT TABLE_CONSTRAINTS.TABLE_NAME, KEY_COLUMN_USAGE .COLUMN_NAME, KEY_COLUMN_USAGE.REFERENCED_TABLE_NAME, से INFORMATION_SCHEMA.TABLE_CONSTRAINTS सही बाहरी INFORMATION_SCHEMA.TABLE_CONSTRAINTS.CONSTRAINT_NAME पर INFORMATION_SCHEMA.KEY_COLUMN_USAGE शामिल हों KEY_COLUMN_USAGE.REFERENCED_COLUMN_NAME = INFORMATION_SCHEMA.KEY_COLUMN_USAGE.CONSTRAINT_NAME कहां INFORMATION_SCHEMA.KEY_COLUMN_USAGE.CONSTRAINT_NAME & lt; & gt; 'प्राथमिक' और INFORMATION_SCHEMA.TABLE_CONSTRAINTS। CONSTRAINT_TYPE = 'फ़ॉरेन कुंजी' और सूचना_SCHEMA.TABLE_CONSTRAINTS.TABLE_SCHEMA = '"$ dbName।"'; "; $ FkQueryResult = $ newLink- & gt; क्वेरी ($ fkQuery); $ A = 0; जबकि ($ fkey = $ fkQueryResult- & gt; फ़ेच करें (पीडीओ :: FETCH_ASSOC)) {$ testF [] = $ fkey; $ AssocF = $ testF [$ a]; $ NewTableName = $ assocF ['TABLE_NAME']; $ NewColumnName = $ assocF ['COLUMN_NAME']; $ NewRefTableName = $ assocF ['REFERENCED_TABLE_NAME']; $ NewRefColumnName = $ assocF ['REFERENCED_COLUMN_NAME']; $ AddFkToTable = "वैकल्पिक तालिका" $ NewDbName "।" । $ NewTableName "जोड़ें विदेश कुंजी ("। $ NewColumnName। ") संदर्भ"। $ Db नाम "।" । $ NewRefTableName "("। $ NewRefColumnName। ");"; गूंज $ addFkToTable "\ N"; $ NewLink- & gt; क्वेरी ($ addFkToTable); एक ++ $; }
यह पुराने डेटाबेस में पुराने तालिका से सभी विदेशी कुंजी संदर्भों का चयन करेगा ताकि उन्हें नए डेटाबेस तालिका में रिले किया जा सके। यह काम कर रहा है, सिवाय इसके कि वह प्रत्येक विदेशी कुंजी रिश्ते को दोगुना कर रहा है। उदाहरण के लिए, उदाहरण के लिए, मेरे पास टेबल ए (कॉलम ए) है जो संदर्भ तालिका (स्तंभबी) है जब मैं डेटाबेस के खिलाफ fkQuery चलाता हूं, तो वह वापस आ जाएगी कि fk मौजूद है, लेकिन इसे दो बार सूचीबद्ध करेगा। कैसे उपाय करने के तरीके के रूप में कोई सुझाव?
No comments:
Post a Comment