दिलचस्प पोस्ट
मैं अजगर में वस्तु की एक प्रति कैसे बना सकता हूं? पहले से संकलित एपीके पर हस्ताक्षर कैसे करें Android ListView सेपरेटर लाइन का रंग कैसे बदल सकता है? क्या मैं संख्या बेस क्लास पर अंकगणित संचालन कर सकता हूं? वस्तु ढेर के लिए पर्याप्त स्थान आरक्षित नहीं कर सके लाइब्रेरी का उपयोग किए बिना जावास्क्रिप्ट में एक और तत्व के बाद एक तत्व कैसे सम्मिलित करें? क्या Android के भीतर सफारी के लिए जावास्क्रिप्ट त्रुटि / डीबग कंसोल को सक्षम करने का कोई तरीका है? क्या कोई जावा विधि आदेश सम्मेलनों है? संपत्ति से एंड्रॉइड वेबविव जावास्क्रिप्ट उपयोगकर्ता लिखित कर्नेलों में जोर 'If' स्टेटमेंट्स में बहु-लाइन की स्थिति स्टाइल करना? मैं एक सामान्य विस्तार विधि के भीतर एक स्ट्रिंग स्तंभ नाम का उपयोग कर एक IQueryable पर ऑर्डरबी कैसे लागू कर सकता हूं? एक सी # आवेदन में कभी भी व्यावहारिक SecureString है? टाइमआउट के साथ Waitpid समकक्ष? कम से कम महत्वपूर्ण बिट की स्थिति जो सेट है

एक टेबल में एक MySQL डाटाबेस में सभी तालिकाओं को हटा दें?

क्या एक कार्यवाही में डेटाबेस में सभी तालिकाओं को कम करने के लिए कोई क्वेरी (कमांड) है? मैं जानना चाहता हूं कि मैं एक ही क्वेरी के साथ ऐसा कर सकता हूं।

वेब के समाधान से एकत्रित समाधान "एक टेबल में एक MySQL डाटाबेस में सभी तालिकाओं को हटा दें?"

ड्रॉप (यानी टेबल निकालें)

mysql -Nse 'show tables' DATABASE_NAME | while read table; do mysql -e "drop table $table" DATABASE_NAME; done 

तुंट करना (यानी खाली तालिकाओं)

 mysql -Nse 'show tables' DATABASE_NAME | while read table; do mysql -e "truncate table $table" DATABASE_NAME; done 

MySQL उदाहरण पर कई डेटाबेस तालिकाओं को छोटा करना

 SELECT Concat('TRUNCATE TABLE ',table_schema,'.',TABLE_NAME, ';') FROM INFORMATION_SCHEMA.TABLES where table_schema in ('db1_name','db2_name'); 

तालिकाओं को छोटा करने के लिए क्वेरी परिणाम का उपयोग करें

नोट: हो सकता है कि आपको यह त्रुटि मिल जाएगी:

 ERROR 1217 (23000): Cannot delete or update a parent row: a foreign key constraint fails 

ऐसा होता है कि यदि तालिका को आप ड्रॉप / छांटने की कोशिश कर रहे हैं, तो इसके बारे में विदेशी कुंजी संदर्भों के साथ तालिकाओं हैं

टेबल को छोडने से पहले आपको यह करना है:

 SET FOREIGN_KEY_CHECKS=0; 

अपनी तालिकाओं को छोटा करें और इसे वापस परिवर्तित करें

 SET FOREIGN_KEY_CHECKS=1; 

इस तरह phpMyAdmin का उपयोग करें:

डेटाबेस देखें => सभी जांचें (टेबल) => खाली

यदि आप विदेशी कुंजी चेक की अनदेखी करना चाहते हैं, तो आप उस बॉक्स को अनचेक कर सकते हैं जो कहते हैं:

[] विदेशी कुंजी चेक सक्षम करें

इस चेकबॉक्स को प्राप्त करने के लिए आपको न्यूनतम संस्करण 4.5.0 या उच्चतर चलाना होगा।

इसकी नहीं MySQL CLI-fu, लेकिन हे, यह काम करता है!

एमएस SQL ​​सर्वर 2005+ (वास्तविक निष्पादन के लिए प्रिंट निकालें …)

 EXEC sp_MSforeachtable 'PRINT ''TRUNCATE TABLE ?''' 

यदि आपका डेटाबेस प्लेटफॉर्म INFORMATION_SCHEMA विचारों का समर्थन करता है, तो निम्न क्वेरी के परिणाम उठाएं और उन्हें निष्पादित करें।

 SELECT 'TRUNCATE TABLE ' + TABLE_NAME FROM INFORMATION_SCHEMA.TABLES 

MySQL के लिए इसे आज़माएं:

 SELECT Concat('TRUNCATE TABLE ', TABLE_NAME) FROM INFORMATION_SCHEMA.TABLES 

Concat में एक अर्धविराम जोड़ने से यह आसान करने के लिए जैसे mysql workbench के भीतर से उपयोग करता है

 SELECT Concat('TRUNCATE TABLE ', TABLE_NAME, ';') FROM INFORMATION_SCHEMA.TABLES 

मुझे यह एक डेटाबेस में सभी तालिकाओं को छोड़ने के लिए मिला:

 mysqldump -uUSERNAME -pPASSWORD --add-drop-table --no-data DATABASENAME | grep ^DROP | mysql -uUSERNAME -pPASSWORD DATABASENAME 

यदि आप होस्टिंग समाधान (एक संपूर्ण डेटाबेस छोड़ने में असमर्थ) द्वारा सीमित हैं तो उपयोगी है।

मैंने तालिकाओं को छोटा करने के लिए इसे संशोधित किया। Mysqldump के लिए कोई "–add-truncate-table" नहीं है, इसलिए मैंने किया:

 mysqldump -uUSERNAME -pPASSWORD --add-drop-table --no-data DATABASENAME | grep ^DROP | sed -e 's/DROP TABLE IF EXISTS/TRUNCATE TABLE/g' | mysql -uUSERNAME -pPASSWORD DATABASENAME 

मेरे लिए काम करता है – एडिट, पिछले कमांड में एक टाइपो तय करना

यह सभी तालिकाओं को कम करने के आदेश को प्रिंट करेगा:

 SELECT GROUP_CONCAT(Concat('TRUNCATE TABLE ',table_schema,'.',TABLE_NAME) SEPARATOR ';') FROM INFORMATION_SCHEMA.TABLES where table_schema in ('my_db'); 
  1. किसी तालिका को कम करने के लिए, किसी अन्य मेज से तालिका में स्तंभों के लिए मैप किए गए विदेशी कुंजी बाधाओं को छोड़ देना चाहिए (वास्तव में विशिष्ट डीबी / स्कीमा में सभी तालिकाओं पर)
  2. इसलिए, सभी विदेशी कुंजी बाधाओं को शुरू में गिरा दिया जाना चाहिए, इसके बाद तालिका छांटना
  3. वैकल्पिक रूप से, डेटा तुल्यकालन के बाद ओएस में उपयोग किए गए डाटा स्पेस / आकार को पुनः प्राप्त करने के लिए ऑप्टिमाइज़ टेबल (मेरीसक्ल, इनऑनडब इंजन ईएसपी) का उपयोग करें।
  4. एक बार डेटा तुटलन किया जाता है, एक ही मेज पर एक ही विदेशी कुंजी बाधाओं को फिर से बनाएं ऊपर दिए गए कार्यों को पूरा करने के लिए स्क्रिप्ट उत्पन्न करने वाली एक स्क्रिप्ट के नीचे देखें

     SELECT CONCAT('ALTER TABLE ',TABLE_SCHEMA,'.',TABLE_NAME,' DROP FOREIGN KEY ',CONSTRAINT_NAME,';') FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE CONSTRAINT_TYPE='FOREIGN KEY' AND TABLE_SCHEMA='<TABLE SCHEMA>' UNION SELECT CONCAT('TRUNCATE TABLE ',TABLE_SCHEMA,'.',TABLE_NAME,';') FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='<TABLE SCHEMA>' AND TABLE_TYPE='BASE TABLE' UNION SELECT CONCAT('OPTIMIZE TABLE ',TABLE_SCHEMA,'.',TABLE_NAME,';') FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='<TABLE SCHEMA>' AND TABLE_TYPE='BASE TABLE' UNION SELECT CONCAT('ALTER TABLE ',TABLE_SCHEMA,'.',TABLE_NAME,' ADD CONSTRAINT ',CONSTRAINT_NAME,' FOREIGN KEY(',COLUMN_NAME,')',' REFERENCES ',REFERENCED_TABLE_NAME,'(',REFERENCED_COLUMN_NAME,');') FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE CONSTRAINT_NAME LIKE 'FK%' AND TABLE_SCHEMA='<TABLE SCHEMA>' INTO OUTFILE "C:/DB Truncate.sql" LINES TERMINATED BY '\n'; 

अब, डीबी Truncate.sql स्क्रिप्ट उत्पन्न जनरेट करें

लाभ। 1) डिस्क स्थान को दोबारा पुनः प्राप्त करें 2) ड्रॉप-डाउन और डीबी / स्कीमा को उसी संरचना से पुन: बनाने की आवश्यकता नहीं है

कमियां। 1) एफके की बाधाओं को नाम में 'एफके' वाले नाम के साथ बाध्य नाम में होना चाहिए।

अगर एसक्यूएल सर्वर 2005 का उपयोग करते हुए, एक छिपी हुई संग्रहीत कार्यविधि है जो आपको एक कमांड या एक डेटाबेस के अंदर सभी तालिकाओं के विरुद्ध आदेशों का एक सेट निष्पादित करने की अनुमति देता है। यहां बताया गया है कि इस संग्रहीत कार्यविधि के साथ आप TRUNCATE TABLE को कैसे कॉल करेंगे:

 EXEC [sp_MSforeachtable] @command1="TRUNCATE TABLE ?" 

यहाँ एक अच्छा लेख है जो आगे बताता है

हालांकि, MySQL के लिए, आप mysqldump का उपयोग कर सकते हैं और --no-data को अनदेखा करने के लिए सभी तालिकाओं को ड्रॉप करने और बनाने के लिए --add-drop-tables और --no-data विकल्प निर्दिष्ट कर सकते हैं। इस तरह:

 mysqldump -u[USERNAME] -p[PASSWORD] --add-drop-table --no-data [DATABASE] 

dev.mysql से mysqldump उपयोग मार्गदर्शिका

इसका प्रयोग करें और क्वेरी बनाएं

 SELECT Concat('TRUNCATE TABLE ',table_schema,'.',TABLE_NAME, ';') FROM INFORMATION_SCHEMA.TABLES where table_schema in (db1,db2) INTO OUTFILE '/path/to/file.sql'; 

अब इस क्वेरी का उपयोग करने के लिए इसका उपयोग करें

 mysql -u username -p </path/to/file.sql 

अगर आपको इस तरह एक त्रुटि मिलती है

 ERROR 1701 (42000) at line 3: Cannot truncate a table referenced in a foreign key constraint 

सबसे आसान तरीका है आपकी फ़ाइल के शीर्ष पर, इस रेखा को जोड़ने के लिए

 SET FOREIGN_KEY_CHECKS=0; 

जो कहता है कि हम इस फाइल को देखते हुए विदेशी कुंजी बाधाओं को नहीं देखना चाहते हैं।

यह डाटाबेस डीबी 1 और बीडी 2 में सभी तालिकाओं को छीन देगा।

नहीं। एक ही बार में सभी mysql तालिकाओं को कम करने का कोई भी आदेश नहीं है। तालिकाओं को एक-एक करके छोटा करने के लिए आपको एक छोटी सी स्क्रिप्ट बनाना होगा

रेफरी: http://dev.mysql.com/doc/refman/5.0/en/truncate-table.html

मुझे नीचे दिए गए कोड की तरह कुछ करना बस इतना सरल लगता है, केवल अपने खुद के साथ तालिका नामों को बदल दें महत्वपूर्ण सुनिश्चित करें कि अंतिम पंक्ति हमेशा SET FOREIGN_KEY_CHECKS = 1;

 SET FOREIGN_KEY_CHECKS=0; TRUNCATE `table1`; TRUNCATE `table2`; TRUNCATE `table3`; TRUNCATE `table4`; TRUNCATE `table5`; TRUNCATE `table6`; TRUNCATE `table7`; SET FOREIGN_KEY_CHECKS=1; 

मुझे लगता है कि ट्रंककेट टेबल … विदेशी कुंजी बाधाओं के साथ परेशान है, यहां तक ​​कि एक नॉकैक कॉन्ट्रैक्ट के बाद भी, इसलिए मैं इसके बजाय एक डिलीट FROM कथन का उपयोग करता हूं इसका मतलब यह है कि पहचान बीज रीसेट नहीं हैं, आप इसे प्राप्त करने के लिए हमेशा एक डीबीसीसी जांचकर्ता जोड़ सकते हैं।

मैं इस कोड को चलाने के पहले डेटाबेस में सभी तालिकाओं को तोड़ने के लिए संदेश विंडो के लिए छापने के लिए नीचे दिए गए कोड का उपयोग करता हूं। यह सिर्फ एक गलती करने के लिए थोड़ा मुश्किल बनाता है

 EXEC sp_MSforeachtable 'PRINT ''ALTER TABLE ? NOCHECK CONSTRAINT ALL''' EXEC sp_MSforeachtable 'print ''DELETE FROM ?''' EXEC sp_MSforeachtable 'print ''ALTER TABLE ? WITH CHECK CHECK CONSTRAINT all''' 

यहाँ के लिए मैं यहाँ जानता हूँ

  SELECT Concat('TRUNCATE TABLE ',table_schema,'.',TABLE_NAME, ';') FROM INFORMATION_SCHEMA.TABLES where table_schema in ('databasename1','databasename2'); 

यदि एक मूल पंक्ति को हटा या अपडेट नहीं किया जा सकता है: एक विदेशी कुंजी बाधा विफल हो जाती है

ऐसा होता है कि यदि तालिका को आप ड्रॉप / छांटने की कोशिश कर रहे हैं, तो इसके बारे में विदेशी कुंजी संदर्भों के साथ तालिकाओं हैं

टेबल को छोडने से पहले आपको यह करना है:

 SET FOREIGN_KEY_CHECKS=0; 

अपनी तालिकाओं को छोटा करें और इसे वापस परिवर्तित करें

 SET FOREIGN_KEY_CHECKS=1; 

उपयोगकर्ता इस php कोड

  $truncate = mysql_query("SELECT Concat('TRUNCATE TABLE ',table_schema,'.',TABLE_NAME, ';') as tables_query FROM INFORMATION_SCHEMA.TABLES where table_schema in ('databasename')"); while($truncateRow=mysql_fetch_assoc($truncate)){ mysql_query($truncateRow['tables_query']); } ?> 

जांच यहाँ लिंक लिंक

 SET FOREIGN_KEY_CHECKS = 0; SELECT @str := CONCAT('TRUNCATE TABLE ', table_schema, '.', table_name, ';') FROM information_schema.tables WHERE table_type = 'BASE TABLE' AND table_schema IN ('db1_name','db2_name'); PREPARE stmt FROM @str; EXECUTE stmt; DEALLOCATE PREPARE stmt; SET FOREIGN_KEY_CHECKS = 1; 

मुझे यकीन नहीं है, लेकिन मुझे लगता है कि एक कमांड का इस्तेमाल होता है जिसके द्वारा आप डेटाबेस के स्कीमा को नए डाटाबेस में कॉपी कर सकते हैं, एक बार आपने ऐसा किया है, तो आप पुराने डेटाबेस को हटा सकते हैं और इसके बाद आप पुराने स्कीमा को फिर से प्रतिलिपि बना सकते हैं।

यहां एक ऐसी प्रक्रिया है जो स्थानीय डेटाबेस में सभी तालिकाओं को छोडनी चाहिए।

मुझे पता है कि यह काम नहीं करता है और मैं इस उत्तर को हटा दूँगा।

untested

 CREATE PROCEDURE truncate_all_tables() BEGIN -- Declare local variables DECLARE done BOOLEAN DEFAULT 0; DECLARE cmd VARCHAR(2000); -- Declare the cursor DECLARE cmds CURSOR FOR SELECT CONCAT('TRUNCATE TABLE ', TABLE_NAME) FROM INFORMATION_SCHEMA.TABLES; -- Declare continue handler DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done=1; -- Open the cursor OPEN cmds; -- Loop through all rows REPEAT -- Get order number FETCH cmds INTO cmd; -- Execute the command PREPARE stmt FROM cmd; EXECUTE stmt; DROP PREPARE stmt; -- End of loop UNTIL done END REPEAT; -- Close the cursor CLOSE cmds; END; 

मुझे पता है कि यह बिल्कुल एक कमांड नहीं है, लेकिन वांछित परिणाम phpMyAdmin के भीतर इन चरणों का पालन करके प्राप्त किया जा सकता है:

  1. निकालने के लिए सभी तालिकाएं चुनें (सभी की जांच करें)
  2. "चयनित के साथ:" सूची से "ड्रॉप" / "ट्रुनकेट" चुनें
  3. पुष्टिकरण पृष्ठ पर ("क्या आप वास्तव में यह करना चाहते हैं:") क्वेरी की प्रतिलिपि बनाएँ (लाल पृष्ठभूमि के साथ सब कुछ)
  4. शीर्ष पर जाएं और SQL पर क्लिक करें और लिखें: "SET FOREIGN_KEY_CHECKS = 0;" फिर पहले की गई प्रतिलिपि क्वेरी पेस्ट करें
  5. "जाओ" पर क्लिक करें

विचार जल्दी से डेटाबेस से सभी तालिकाओं को प्राप्त करना है (जो आप 5 सेकंड और 2 क्लिक्स में करते हैं) परन्तु विदेशी कुंजी चेक को पहले अक्षम करते हैं कोई सीएलआई नहीं है और कोई डेटाबेस नहीं छोड़ रहा है और इसे फिर से जोड़ रहा है।

 TB=$( mysql -Bse "show tables from DATABASE" ); for i in ${TB}; do echo "Truncating table ${i}"; mysql -e "set foreign_key_checks=0; set unique_checks=0;truncate table DATABASE.${i}; set foreign_key_checks=1; set unique_checks=1"; sleep 1; done 

डेविड,

कोड को प्रारूपित करने के लिए समय निकालने के लिए धन्यवाद, लेकिन ऐसा प्रतीत होता है कि उसे कैसे लागू किया जाना चाहिए।

-Kurt

एक यूनिक्स या लिनक्स बॉक्स पर:

सुनिश्चित करें कि आप बैश शेल में हैं निम्न कमांड लाइन से निम्न कमांड चलाना है।

ध्यान दें:

मैं अपने ~ / .my.cnf फ़ाइल में अपने क्रेडेंशियल्स संग्रहीत करता हूं, इसलिए मुझे उन्हें कमांड लाइन पर आपूर्ति करने की आवश्यकता नहीं है

ध्यान दें:

सीपीएम डेटाबेस नाम है

मैं प्रत्येक आदेश से केवल परिणामों का एक छोटा सा नमूना दिखा रहा हूं

अपनी विदेशी कुंजी बाधाओं को खोजें:

 klarsen@Chaos:~$ mysql -Bse "select concat(table_name, ' depends on ', referenced_table_name) from information_schema.referential_constraints where constraint_schema = 'cpm' order by referenced_table_name" 
  1. approval_external_system approval_request पर निर्भर करता है
  2. पता ग्राहक पर निर्भर करता है
  3. ग्राहक-पहचान ग्राहक पर निर्भर करता है
  4. external_id ग्राहक पर निर्भर करता है
  5. क्रेडेंशियल ग्राहक पर निर्भर करता है
  6. email_address ग्राहक पर निर्भर करता है
  7. अनुमोदन / अनुरोध ग्राहक पर निर्भर करता है
  8. customer_status ग्राहक पर निर्भर करता है
  9. customer_image ग्राहक पर निर्भर करता है

तालिकाओं और पंक्ति गणना की सूची:

 klarsen@Chaos:~$ mysql -Bse "SELECT table_name, table_rows FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'cpm'" | cat -n 1 address 297 2 approval_external_system 0 3 approval_request 0 4 country 189 5 credential 468 6 customer 6776 7 customer_identification 5631 8 customer_image 2 9 customer_status 13639 

अपनी टेबल को मिटा दें:

 klarsen@Chaos:~$ TB=$( mysql -Bse "show tables from cpm" ); for i in ${TB}; do echo "Truncating table ${i}"; mysql -e "set foreign_key_checks=0; set unique_checks=0;truncate table cpm.${i}; set foreign_key_checks=1; set unique_checks=1"; sleep 1; done 
  1. तालिका काटने का पत्ता
  2. छंटनी तालिका अनुमोदन_अंतरतम_सिस्टम
  3. तालिका का अनुमोदन
  4. टेबल देश काटने
  5. तालिका क्रेडेंशियल छंटनी
  6. तालिका काटने वाले ग्राहक
  7. तालिका काटने वाले ग्राहक पहचान
  8. छंटनी तालिका customer_image
  9. तालिका काटने वाले ग्राहक_स्टेटस

सत्यापित करें कि यह काम किया है:

 klarsen@Chaos:~$ mysql -Bse "SELECT table_name, table_rows FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'cpm'" | cat -n 1 address 0 2 approval_external_system 0 3 approval_request 0 4 country 0 5 credential 0 6 customer 0 7 customer_identification 0 8 customer_image 0 9 customer_status 0 10 email_address 0 

विंडोज बॉक्स पर:

ध्यान दें:

सीपीएम डेटाबेस नाम है

 C:\>for /F "tokens=*" %a IN ('mysql -Bse "show tables" cpm') do mysql -e "set foreign_key_checks=0; set unique_checks=0; truncate table %a; foreign_key_checks=1; set unique_checks=1" cpm 

निम्न MySQL क्वेरी स्वयं एक ही क्वेरी का निर्माण करेगा जो किसी दिए गए डेटाबेस में सभी तालिकाओं को मिटा देगा। यह विदेशी कुंजी को बायपास करता है:

 SELECT CONCAT( 'SET FOREIGN_KEY_CHECKS=0; ', GROUP_CONCAT(dropTableSql SEPARATOR '; '), '; ', 'SET FOREIGN_KEY_CHECKS=1;' ) as dropAllTablesSql FROM ( SELECT Concat('TRUNCATE TABLE ', table_schema, '.', TABLE_NAME) AS dropTableSql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'DATABASE_NAME' ) as queries 
 mysqldump -u root -p --no-data dbname > schema.sql mysqldump -u root -p drop dbname mysqldump -u root -p < schema.sql 

सोलन 1)

 mysql> select group_concat('truncate',' ',table_name,';') from information_schema.tables where table_schema="db_name" into outfile '/tmp/a.txt'; mysql> /tmp/a.txt; 

सोलन 2)

 - Export only structure of a db - drop the database - import the .sql of structure 

– संपादित करें —-

 earlier in solution 1, i had mentioned concat() instead of group_concat() which would have not returned the desired result 

ये मेरे संस्करण का एक 'बयान है कि वे सभी' को छांट दें

सबसे पहले, मैं अपने सहायक संग्रहित प्रक्रियाओं के लिए 'उपयोग' नामक एक अलग डेटाबेस का उपयोग कर रहा हूं। सभी तालिकाओं को कम करने के लिए मेरी संग्रहीत कार्यविधि का कोड है:

 DROP PROCEDURE IF EXISTS trunctables; DELIMITER ;; CREATE PROCEDURE trunctables(theDb varchar(64)) BEGIN declare tname varchar(64); declare tcursor CURSOR FOR SELECT table_name FROM information_schema.tables WHERE table_type <> 'VIEW' AND table_schema = theDb; SET FOREIGN_KEY_CHECKS = 0; OPEN tcursor; l1: LOOP FETCH tcursor INTO tname; if tname = NULL then leave l1; end if; set @sql = CONCAT('truncate `', theDB, '`.`', tname, '`'); PREPARE stmt from @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt; END LOOP l1; CLOSE tcursor; SET FOREIGN_KEY_CHECKS = 1; END ;; DELIMITER ; 

आपके उपयोग डेटाबेस में यह संग्रहीत प्रक्रिया हो जाने के बाद, आप इसे इसे पसंद कर सकते हैं

 call util.trunctables('nameofdatabase'); 

जो अब बिल्कुल एक कथन है 🙂

एक विचार सिर्फ टेबल ड्रॉप और पुनर्निर्माण करने के लिए हो सकता है?

संपादित करें:

@ जोनाथन लेफ़्लर: सच है

अन्य सुझाव (या मामले में आपको सभी तालिकाएं छोडने की आवश्यकता नहीं है):

क्यों विशिष्ट तालिकाओं को तोड़ने के लिए एक बुनियादी संग्रहीत कार्यप्रणाली नहीं बनाते हैं

 CREATE PROCEDURE [dbo].[proc_TruncateTables] AS TRUNCATE TABLE Table1 TRUNCATE TABLE Table2 TRUNCATE TABLE Table3 GO 
 <?php // connect to database $conn=mysqli_connect("localhost","user","password","database"); // check connection if (mysqli_connect_errno()) { exit('Connect failed: '. mysqli_connect_error()); } // sql query $sql =mysqli_query($conn,"TRUNCATE " . TABLE_NAME); // Print message if ($sql === TRUE) { echo 'data delete successfully'; } else { echo 'Error: '. $conn->error; } $conn->close(); ?> 

यहाँ कोड स्निपेट है जो मैं टेबल को साफ़ करने के लिए उपयोग करता हूं। बस $ Conn जानकारी और TABLE_NAME को बदलें