SQL सर्वर 2005 में sql क्वेरी का उपयोग करके तालिका में कॉलम ऑर्डर कैसे बदलें?


109

SQL Server 2005 में SQL क्वेरी का उपयोग करके तालिका में कॉलम ऑर्डर कैसे बदलें?

मैं SQL क्वेरी का उपयोग करके तालिका में स्तंभ क्रम को पुनर्व्यवस्थित करना चाहता हूं।


3
यदि आप तालिका में मौजूद स्तंभों की स्थिति बदलने की बात कर रहे हैं , तो आपको पसंदीदा क्रम के साथ एक नई तालिका बनाने की आवश्यकता होगी, पुरानी तालिका से डेटा डालें, फिर मूल तालिका को छोड़ दें। ऐसा करने का कोई और तरीका (मेरी जानकारी में) नहीं है।
माइकल टॉड

क्या आप किसी SELECT स्टेटमेंट पर कॉलम ऑर्डर के बारे में बात कर रहे हैं, या टेबल की परिभाषा पर कॉलम ऑर्डर कर रहे हैं?
marc_s

जवाबों:


111

आप नहीं कर सकते। कॉलम ऑर्डर सिर्फ एक "कॉस्मेटिक" चीज है, जिसकी हम मनुष्यों को परवाह है - SQL सर्वर के लिए, यह लगभग हमेशा अप्रासंगिक है।

जब आप स्तंभ क्रम बदलते हैं, तो SQL सर्वर प्रबंधन स्टूडियो पृष्ठभूमि में क्या करता है, एक नई CREATE TABLEकमांड के साथ स्क्रैच से तालिका को फिर से बना रहा है, पुरानी तालिका से डेटा की प्रतिलिपि बना रहा है, और फिर इसे छोड़ रहा है।

स्तंभ आदेश को परिभाषित करने के लिए कोई SQL कमांड नहीं है।


4
नहीं, ऐसी कोई बात नहीं है SQL सर्वर - और किसी भी वास्तविक RBDMS में नहीं होना चाहिए - स्तंभ आदेश एक अवधारणा नहीं है जो SQL तालिका के लिए प्रासंगिक है
marc_s

68
@marc_s कॉलम ऑर्डर का समर्थन करने के खिलाफ एक अच्छा कारण नहीं है। भले ही वह केवल दृश्य हो। जब आप "SELECT *" बनाते हैं तो बस किसी दिए गए कॉलम ऑर्डर के साथ तालिका में डेटा को देखना आसान बना सकते हैं। मैं एक डेवलपर हूं और हर समय इस तरह की क्वेरी करता हूं। आप पूर्व-परिभाषित कॉलम ऑर्डर के साथ कुछ समय बचा सकते हैं। किसी भी अन्य दृष्टिकोण से, निश्चित रूप से, इसका कोई अर्थ नहीं है: कुछ भी कॉलम के आदेश पर निर्भर नहीं होना चाहिए। वैसे, जब आप "INFORMATION_SCHEMA.COLUMNS" क्वेरी करते हैं तो एक ORDINAL_POSITION कॉलम होता है। मुझे नहीं पता कि इसका क्या मतलब है ... लेकिन इसके साथ कुछ करना होगा।
जटबी

18
कॉलम नाम निर्दिष्ट किए बिना INSERT INTO का उपयोग करते समय उदाहरण के लिए स्तंभ क्रम प्रासंगिक है। एक अन्य उदाहरण स्तंभ नाम के बजाय स्तंभ सूचकांक द्वारा आदेश है। दोनों ने स्पष्ट रूप से प्रथाओं की सिफारिश नहीं की है, लेकिन SQL सर्वर इसे अनुमति देता है इसलिए किसी ने इसे कहीं इस्तेमाल किया होगा, संभवतः कॉलम क्रम बदलते समय टी-एसक्यूएल कोड को तोड़ना।
कारवेलिस

12
@Carvelis: आप चाहिए कभी का उपयोग INSERTस्पष्ट रूप से अपने कॉलम वैसे भी निर्दिष्ट किए बिना!
marc_s

2
@marc_s: बिल्कुल, लेकिन मैं आमतौर पर केवल एक परियोजना पर काम करने वाला नहीं हूं। मैंने काफी कुछ परियोजनाएँ देखी हैं जहाँ लोगों ने इस तरह के कोड का उपयोग किया है।
कारवेलिस

30

आपको फ़ील्ड को स्पष्ट रूप से उस क्रम में सूचीबद्ध करना होगा जिस क्रम में आप चाहते हैं कि उन्हें 'डिफ़ॉल्ट' क्रम के लिए उपयोग करने के बजाय लौटाया जाए।

मूल प्रश्न:

select * from foobar

रिटर्न

foo bar
--- ---
  1   2

अब लिखें

select bar, foo from foobar

bar foo
--- ---
  2   1

उपरोक्त उत्तर गलत है क्या यह नहीं है? यह उत्तर शाब्दिक रूप से दिखाता है कि कॉलम कैसे ऑर्डर करना है, पिछले वाले के पास चेकमार्क क्यों है और यह एक नहीं है?
एजेंट लू

1
@Agent Lu समस्या मूल प्रश्न का शब्दांकन है। मार्क और मैंने ओपी के प्रश्न की व्याख्या 'कॉलम के क्रम को अलग' के लिए की है। वह एक मजबूत तर्क देता है कि संग्रहीत तालिका में स्तंभ क्रम अप्रासंगिक क्यों है (नाम हालांकि हैं)। मैंने दिखाया कि एक अलग कॉलम ऑर्डर में डेटा कैसे निकाला जा सकता है। बिलकुल एक ही बात नहीं!
lexu

23

http://msdn.microsoft.com/en-us/library/aa337556.aspx के अनुसार

यह कार्य Transact-SQL स्टेटमेंट का उपयोग करके समर्थित नहीं है।

खैर, यह komma8.komma1 द्वारा उत्तर के रूप में create/ कॉपी / drop/ नाम का उपयोग करके किया जा सकता है

या आप SQL सर्वर प्रबंधन स्टूडियो का उपयोग कर सकते हैं

  1. में वस्तु एक्सप्लोरर , आप पुनः क्रमित करना चाहते कॉलम के साथ तालिका राइट क्लिक करें और क्लिक करें डिजाइन (ver में संशोधित। 2005 SP1 या पुराने)
  2. स्तंभ नाम के बाईं ओर स्थित उस बॉक्स का चयन करें जिसे आप पुनः व्यवस्थित करना चाहते हैं। (आप अपने कीबोर्ड पर [शिफ्ट] या [ctrl] कीज़ दबाकर कई कॉलम चुन सकते हैं।)
  3. तालिका के भीतर कॉलम को दूसरे स्थान पर खींचें।

फिर save पर क्लिक करें। यह विधि वास्तव में तालिका को गिराती है और पुन: निर्मित करती है, इसलिए कुछ त्रुटियां हो सकती हैं।

यदि डेटाबेस और तालिका के लिए परिवर्तन ट्रैकिंग विकल्प सक्षम है, तो आपको इस पद्धति का उपयोग नहीं करना चाहिए।

यदि इसे अक्षम कर दिया गया है, तो टूल मेनू> विकल्प> डिज़ाइनर में टेबल री-क्रिएशन विकल्प की आवश्यकता वाले परिवर्तनों को रोकना रोकना चाहिए, अन्यथा "सेविंग चेंजेज इज नॉट इज नॉट" त्रुटि उत्पन्न होगी।

  • तालिका द्वारा पुन: निर्माण विकल्प की आवश्यकता वाले परिवर्तनों को रोकने के लिए Microsoft द्वारा दृढ़ता से सलाह दी जाती है, क्योंकि यह मौजूदा परिवर्तन ट्रैकिंग जानकारी को हटाता है जब तालिका पुन: बनाई जाती है, इसलिए आपको इस विकल्प को कभी भी अक्षम नहीं करना चाहिए यदि परिवर्तन ट्रैकिंग है। सक्षम!

प्राथमिक और विदेशी कुंजी निर्माण के दौरान समस्याएं भी उत्पन्न हो सकती हैं।

यदि उपरोक्त में से कोई भी त्रुटि होती है, तो बचत विफल हो जाती है जो आपको मूल कॉलम क्रम के साथ छोड़ देती है।


1
This task cannot be performed using Transact-SQL statements.दस्तावेज़ में " " कथन गलत था। मैंने लेखक को समझाया और उसे " This task is not supported using Transact-SQL statements." में बदलने के लिए कहा । लगभग एक दिन पहले, लेखक सहमत हो गया और दस्तावेज़ तय हो गया। GitHub पर हमारे द्वारा की गई चर्चा का अनुसरण कर सकते हैं
रोनेन एरली

@RonenAriely अच्छा काम है, और मुझे बताने के लिए धन्यवाद। मैंने अपना उत्तर
रोबोटिक

आपका स्वागत है @robotik rob मुझे उम्मीद है कि ये सभी जो यहां आएंगे और सबसे अधिक वोटों के साथ प्रतिक्रिया देखेंगे, यह समझेंगे कि यह कुल गलती है। दुर्भाग्य से, समुदाय आमतौर पर एक झुंड (मवेशी) की तरह व्यवहार करते हैं और एक बार एक नेता और एक शीर्ष योगदानकर्ता (जिसे शीर्ष विशेषज्ञ माना जाता है) ने गलती की, फिर अन्य लोग उसका अनुसरण करते हैं, जैसा कि इस धागे में हुआ है। लोग एक गलती के लिए वोट देना जारी रखते हैं यदि इसे पहले से ही कई वोट मिले (दृष्टिकोण: "चूंकि हर कोई ऐसा कहता है, तो यह सच है"), और मंच पर आने वाले अन्य लोग सोचेंगे कि यह सही उत्तर है।
रोनेन एरली

1
@ रॉन एरिकली यही कारण है कि मैं हमेशा नीचे स्क्रॉल करता
हूं

13

यह एक प्रश्न के परिणाम में रिकॉर्ड के आदेश पर सवाल के समान है .. और आम तौर पर कोई भी औपचारिक रूप से सही; 1; 24 पसंद नहीं करता है;

तो यहाँ यह जाता है:

  • SQL मानक के अनुसार, तालिका में कॉलम "आदेशित" नहीं हैं
  • नतीजतन, select *किसी विशेष क्रम में कॉलम को वापस करने के लिए मजबूर नहीं करता है
  • आमतौर पर, प्रत्येक आरडीबीएमएस में एक प्रकार का "डिफ़ॉल्ट" क्रम होता है (आमतौर पर यह आदेश कि कॉलम तालिका में जोड़ा गया था, या तो create table' or in theपरिवर्तन तालिका में `विवरण जोड़ें '
  • इसलिए, यदि आप स्तंभों के क्रम पर भरोसा करते हैं (क्योंकि आप किसी स्तंभ के स्थान से कुछ अन्य डेटास्ट्रक्चर को शांत करने के लिए क्वेरी के परिणामों का उपयोग कर रहे हैं), तो स्पष्ट रूप से स्तंभों को उस क्रम में सूचीबद्ध करें, जो आप उन्हें चाहते हैं।

11

आप बेशक एक sql स्टेटमेंट में कॉलम के क्रम को बदल सकते हैं। हालाँकि यदि आप तालिकाओं के भौतिक स्तंभ क्रम को सार करना चाहते हैं, तो आप एक दृश्य बना सकते हैं। अर्थात

CREATE TABLE myTable(
    a int NULL,
    b varchar(50) NULL,
    c datetime NULL
);


CREATE VIEW vw_myTable
AS
SELECT c, a, b
  FROM myTable;

select * from myTable;
a  b  c
-  -  -

select * from vw_myTable
c  a  b
-  -  -

क्या यह क्वेरी समय बदलता है?
अंधभक्ति

@blindguy नहीं यह आपके प्रश्न समय को नहीं बदलता है
mevdiven

9

SQLServer प्रबंधन स्टूडियो में:

उपकरण -> विकल्प -> डिजाइनर -> तालिका और डेटाबेस डिजाइनर

  • अचयनित 'बचत परिवर्तन को रोकें जिसके लिए टेबल पुन: निर्माण की आवश्यकता होती है'।

फिर:

  • जिस कॉलम के लिए आप फिर से ऑर्डर करना चाहते हैं, उस पर राइट क्लिक करें।
  • 'डिज़ाइन' पर क्लिक करें।
  • कॉलम को उस ऑर्डर पर खींचें, जिसे आप चाहते हैं।
  • अंत में, save पर क्लिक करें।

SQLServer प्रबंधन स्टूडियो तालिका को छोड़ देगा और डेटा का उपयोग करके इसे फिर से बनाएगा।


6

आप इसे एक नई तालिका बनाकर कर सकते हैं, सभी डेटा को कॉपी कर सकते हैं, पुरानी तालिका को गिरा सकते हैं, फिर पुराने को बदलने के लिए नए का नाम बदल सकते हैं।

आप तालिका में नए कॉलम भी जोड़ सकते हैं, स्तंभ डेटा पर कॉलम की प्रतिलिपि बना सकते हैं, पुराने कॉलम को छोड़ सकते हैं, फिर पुराने कॉलम से मिलान करने के लिए नए कॉलम का नाम बदल सकते हैं। नीचे एक सरल उदाहरण: http://sqlfiddle.com/# ! -3/67af4/1

CREATE TABLE TestTable (
    Column1 INT,
    Column2 VARCHAR(255)
);
GO

insert into TestTable values(1, 'Test1');
insert into TestTable values(2, 'Test2');
GO

select * from TestTable;
GO

ALTER TABLE TestTable ADD Column2_NEW VARCHAR(255);
ALTER TABLE TestTable ADD Column1_NEW INT;
GO

update TestTable 
set Column1_NEW = Column1, 
    Column2_NEW = Column2;
GO

ALTER TABLE TestTable DROP COLUMN Column1;
ALTER TABLE TestTable DROP COLUMN Column2;
GO

sp_rename 'TestTable.Column1_NEW', 'Column1', 'COLUMN';
GO
sp_rename 'TestTable.Column2_NEW', 'Column2', 'COLUMN';
GO

select * from TestTable;
GO

1
मैंने एक संग्रहीत प्रक्रिया लिखी जो कुछ इसी तरह की है। यह गतिशील एसक्यूएल का उपयोग करके तालिका पुनर्निर्माण को स्वचालित करता है। Caseyplummer.wordpress.com/2013/07/22/…
केसी प्लमर

6

SQLServer प्रबंधन स्टूडियो में:

Tools-> Options-> Designers->Table and Database Designers

अचयनित करना Prevent saving changes that require table re-creation

अब आप तालिका को फिर से व्यवस्थित कर सकते हैं।


2

Sql सर्वर आंतरिक रूप से स्क्रिप्ट का निर्माण करता है। यह नए परिवर्तनों के साथ एक अस्थायी तालिका बनाता है और डेटा की प्रतिलिपि बनाता है और वर्तमान तालिका को छोड़ता है और अस्थायी तालिका से तालिका सम्मिलित को फिर से बनाता है। मैं इसे "Generate Change script" विकल्प ssms 2014 से ढूँढता हूँ। इस तरह से स्क्रिप्ट। से यहाँ: किसी तालिका में स्तंभ क्रम बदलने के लिए एसक्यूएल क्वेरी का उपयोग

BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
COMMIT
BEGIN TRANSACTION
GO
CREATE TABLE dbo.Tmp_emps
    (
    id int NULL,
    ename varchar(20) NULL
    )  ON [PRIMARY]
GO
ALTER TABLE dbo.Tmp_emps SET (LOCK_ESCALATION = TABLE)
GO
IF EXISTS(SELECT * FROM dbo.emps)
     EXEC('INSERT INTO dbo.Tmp_emps (id, ename)
        SELECT id, ename FROM dbo.emps WITH (HOLDLOCK TABLOCKX)')
GO
DROP TABLE dbo.emps
GO
EXECUTE sp_rename N'dbo.Tmp_emps', N'emps', 'OBJECT' 
GO
COMMIT

1

यदि आपकी तालिका में पर्याप्त कॉलम हैं तो आप यह कोशिश कर सकते हैं। पहले कॉलम के पसंदीदा क्रम के साथ एक नई तालिका बनाएं।

    create table new as select column1,column2,column3,....columnN from table_name;

अब ड्रॉप कमांड का उपयोग करके टेबल को ड्रॉप करें

    drop table table_name;

अब अपनी पुरानी तालिका के नाम पर नई बनाई गई तालिका का नाम बदलें।

    rename new to table_name;

अब तालिका का चयन करें, आपके पास अपने कॉलमों को फिर से व्यवस्थित करना है जैसा आपने पहले पसंद किया था।

    select * from table_name;

यह एक नई तालिका बनाने के समान है, मौजूदा तालिका से नए में डेटा कॉपी करें, पुराने को हटा दें और नए का नाम बदलें। इसलिए सख्ती से बोलना, यह तालिका के स्तंभ क्रम को नहीं बदल रहा है। जैसा कि यह पुरानी तालिका से बनाता है / कॉपी करता है, विशाल तालिकाओं के लिए समय लगता है। अंतिम लेकिन कम से कम, प्रस्तावित सिंटैक्स t-sql में काम नहीं करता है।
जीन-फ्रांस्वा

0

दिन के अंत में, आप बस MS SQL में ऐसा नहीं कर सकते। मैंने हाल ही में एक संग्रहीत कार्यविधि का उपयोग करते हुए जाने (एप्लिकेशन स्टार्टअप) पर तालिकाएँ बनाईं जो लुकअप टेबल से पढ़ती हैं। जब मैंने एक ऐसा दृश्य बनाया, जिसे मैंने किसी अन्य तालिका के साथ जोड़ दिया था, तो मैंने मैन्युअल रूप से पहले एक (एक ही स्कीमा, डेटा के साथ) बनाया था, यह विफल रहा - केवल इसलिए कि मैं दृश्य के लिए '' चयन करें * चयन करें * का उपयोग कर रहा था। उसी समय, यदि मैं केवल संग्रहीत प्रक्रिया के माध्यम से बनाए गए का उपयोग करता हूं, तो मैं सफल हूं।

निष्कर्ष में: यदि कोई एप्लिकेशन है जो कॉलम के आदेश पर निर्भर करता है तो यह वास्तव में अच्छी प्रोग्रामिंग नहीं है और भविष्य में समस्याओं को सुनिश्चित करने के लिए होगा। कॉलम को कहीं भी होने के लिए स्वतंत्र महसूस करना चाहिए और किसी भी डेटा प्रक्रिया (INSERT, UPDATE, SELECT) के लिए उपयोग किया जाना चाहिए।


0

आप इन चरणों के साथ इसे प्राप्त कर सकते हैं:

  1. मूल तालिका के सभी विदेशी कुंजी और प्राथमिक कुंजी को हटा दें।

  2. मूल तालिका का नाम बदलें।

  3. CTAS का उपयोग करके आप चाहते हैं कि मूल तालिका बनाएं।

  4. पुरानी मेज को गिराओ।

  5. सभी बाधाओं को मूल तालिका पर वापस लागू करें


0

यदि हाल ही में बनाए जाने वाले स्तंभ हाल ही में बनाए गए हैं और खाली हैं, तो स्तंभों को हटाकर सही क्रम में फिर से जोड़ा जा सकता है।

यह मेरे साथ हुआ, नई कार्यक्षमता जोड़ने के लिए मैन्युअल रूप से एक डेटाबेस का विस्तार करना, और मैं एक कॉलम से चूक गया था, और जब मैंने इसे जोड़ा, तो अनुक्रम गलत था।

यहाँ कोई पर्याप्त समाधान नहीं मिलने के बाद मैंने निम्न प्रकार के आदेशों का उपयोग करके तालिका को ठीक किया।

ALTER TABLE  tablename  DROP COLUMN  columnname; 
ALTER TABLE  tablename  ADD columnname columntype;

नोट: केवल यह करें यदि आपके पास उन कॉलमों में डेटा नहीं है जिन्हें आप छोड़ रहे हैं।

लोगों ने कहा है कि कॉलम ऑर्डर मायने नहीं रखता। मैं डेटाबेस के स्कीमा का पाठ संस्करण बनाने के लिए नियमित रूप से SQL सर्वर प्रबंधन स्टूडियो "स्क्रिप्ट तैयार करता हूं" का उपयोग करता हूं। इन लिपियों (git) को प्रभावी रूप से नियंत्रित करने और उनकी (WinMerge) तुलना करने के लिए, यह जरूरी है कि संगत डेटाबेस से आउटपुट समान हो, और हाइलाइट किए गए अंतर वास्तविक डेटाबेस अंतर हैं।

कॉलम ऑर्डर मायने रखता है; लेकिन सिर्फ कुछ लोगों के लिए, हर किसी के लिए नहीं!


0

मुझे लगता है कि आप एक विशिष्ट स्थिति में एक नया कॉलम जोड़ना चाहते हैं। आप वर्तमान कॉलम को दाईं ओर ले जाकर एक नया कॉलम बना सकते हैं।

+---+---+---+
| A | B | C |
+---+---+---+

सभी प्रभावित अनुक्रमित और विदेशी कुंजी संदर्भ निकालें। अंतिम कॉलम जैसे सटीक डेटा प्रकार के साथ एक नया कॉलम जोड़ें और वहां डेटा कॉपी करें।

+---+---+---+---+
| A | B | C | C |
+---+---+---+---+
          |___^

तीसरे कॉलम के डेटा प्रकार को पिछले कॉलम की तरह ही बदलें और वहां डेटा कॉपी करें।

+---+---+---+---+
| A | B | B | C | 
+---+---+---+---+
      |___^

तदनुसार कॉलम का नाम बदलें, हटाए गए अनुक्रमित और विदेशी कुंजी संदर्भों को पुन: बनाएँ

+---+---+---+---+
| A | D | B | C | 
+---+---+---+---+

दूसरा कोलम का डेटा प्रकार बदलें।

ध्यान रखें कि कॉलम ऑर्डर केवल एक "कॉस्मेटिक" चीज है जैसे कि marc_s ने कहा है


-1

उपयोग

SELECT * FROM TABLE1

जो तालिका के डिफ़ॉल्ट स्तंभ क्रम को प्रदर्शित करता है।

यदि आप कॉलम का क्रम बदलना चाहते हैं।

समान रूप से प्रदर्शित करने के लिए कॉलम नाम निर्दिष्ट करें

SELECT COLUMN1, COLUMN5, COLUMN4, COLUMN3, COULMN2 FROM TABLE1

सवाल अस्थायी आदेश देने का नहीं है। प्रश्न तालिका डिज़ाइन संरचना के बारे में है जब आप तालिका बदलते हैं और नए कॉलम जोड़ते हैं।
चतुर्वेदी विकास

-1

आप इंडेक्सिंग का उपयोग कर सकते हैं .. इंडेक्सिंग के बाद, अगर XXXX से * चयन करें तो परिणाम इंडेक्स के अनुसार होना चाहिए, लेकिन केवल रिजल्ट सेट .. टेबल का स्ट्रक्चर नहीं


-1

आप SQL क्वेरी का उपयोग करके इसे बदल सकते हैं। कॉलम के अनुक्रम को बदलने के लिए यहां sql क्वेरी है।

ALTER TABLE table name 
CHANGE COLUMN `column1` `column1` INT(11) NOT NULL COMMENT '' AFTER `column2`;

मुझे आश्चर्य है कि अगर यह SSMS की तरह टेबल को गिराता है और फिर से बनाता है। किसी भी तरह मैं एक उत्पादन DB पर यह कर पासा रोल नहीं होगा, हालांकि यह विधि दिलचस्प लगता है और कुछ में देखने लायक है।
समिस

यह कार्यक्षमता SQL सर्वर में काम नहीं करता है जैसा कि ओपी द्वारा निर्दिष्ट किया गया था। काश ऐसा होता।
बिल

1
यह MySQL सिंटैक्स है, SQL सर्वर नहीं।
जॉन श्नाइडर

-1

एक विशिष्ट कॉलम ऑर्डर करने के लिए आपको अपनी इच्छानुसार कॉलम में कॉलम का चयन करना होगा। चयन आदेश यह बताता है कि आउटपुट में कॉलम कैसे ऑर्डर किए जाएंगे।


-1

इस आदेश का प्रयास करें:

alter table students modify age int(5) first; 

यह उम्र की स्थिति को पहली स्थिति में बदल देगा।


यह MSSQL में मान्य SQL नहीं है। शायद MySQL या कुछ अन्य बोली, लेकिन SQL सर्वर 2005 के लिए नहीं
nsimeonov

-2

परिवर्तन तालिका का नाम संशोधित कॉलमनाम इंट (5) पहले; कॉलम को पहले परिवर्तन करने के लिए कॉलम लाएगा नाम संशोधित करें कॉलम नाम int (5) के बाद (टैबलेन);


-3

उदाहरण: तालिका स्थिति में field_price के बाद field_priority की स्थिति बदलें।

ALTER TABLE `status` CHANGE `priority` `priority` INT(11) NULL DEFAULT NULL AFTER `price`;

2
यह MySQL सिंटैक्स है, SQL सर्वर नहीं।
जॉन श्नाइडर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.