… মানগুলিতে সন্নিবেশ করুন (নির্বাচন করুন ... থেকে… নির্বাচন করুন)


1425

আমি INSERT INTOঅন্য টেবিল থেকে ইনপুট ব্যবহার করে একটি টেবিলের চেষ্টা করছি । যদিও এটি অনেকগুলি ডাটাবেস ইঞ্জিনের জন্য সম্পূর্ণরূপে সম্ভাব্য, তবুও আমি সবসময় SQLদিনের ইঞ্জিনের জন্য সঠিক সিনট্যাক্স ( মাইএসকিউএল , ওরাকল , এসকিউএল সার্ভার , ইনফর্মিক্স এবং ডিবি 2 ) মনে রাখার জন্য লড়াই করে যাচ্ছি বলে মনে হয় ।

কোনও এসকিউএল স্ট্যান্ডার্ড (উদাহরণস্বরূপ, এসকিউএল -২২ ) থেকে কোন রূপালী-বুলেট সিনট্যাক্স আসছে যা অন্তর্নিহিত ডাটাবেস সম্পর্কে চিন্তা না করে মান সন্নিবেশ করিয়ে দেবে?


1
এই উদাহরণে কাজ করে: tag_zone মধ্যে সন্নিবেশ নির্বাচন @ ট্যাগ, zoneid, GETDATE (), @ জোন থেকে positiong.STIntersects (বহুভুজ)
Uğur Gümüşhan

উত্তর:


1610

চেষ্টা করুন:

INSERT INTO table1 ( column1 )
SELECT  col1
FROM    table2  

এটি স্ট্যান্ডার্ড এএনএসআই এসকিউএল এবং যে কোনও ডিবিএমএসে কাজ করা উচিত

এটি অবশ্যই এর জন্য কাজ করে:

  • আকাশবাণী
  • এমএস এসকিউএল সার্ভার
  • মাইএসকিউএল
  • Postgres
  • এসকিউএল ভি 3
  • Teradata
  • DB2
  • সাইবেস
  • Vertica
  • HSQLDB
  • ও H2
  • এডাব্লুএস রেডশিফ্ট
  • স্যাপ হানা

942

ক্লাড হোলের উত্তর : ভাল কাজ করা উচিত এবং আপনার একাধিক কলাম এবং অন্যান্য ডেটাও থাকতে পারে:

INSERT INTO table1 ( column1, column2, someInt, someVarChar )
SELECT  table2.column1, table2.column2, 8, 'some string etc.'
FROM    table2
WHERE   table2.ID = 7;

আমি কেবল এই সিনট্যাক্সটি অ্যাক্সেস, এসকিউএল 2000/2005 / এক্সপ্রেস, মাইএসকিউএল এবং পোস্টগ্রিস এসকিউএল ব্যবহার করেছি, যাতে সেগুলি coveredেকে রাখা উচিত। এটি এসকিউএলাইট 3 এর সাথেও কাজ করা উচিত।


1
কী হবে, যেখানে শর্তটি টেবিল 2 কন্ট্রিতে পরিবর্তিত হয়েছে এবং একের চেয়ে বেশি সারির সংখ্যা ফিরে আসে? : আমি এখানে অনুরূপ ইস্যু পেয়েছেন stackoverflow.com/questions/36030370/...
vijayrana

1
একাধিক সারি সন্নিবেশ করানোর ক্ষেত্রে সমস্যা হওয়া উচিত নয়।
rinukkusu

এটি কি প্রয়োজনীয় যে আমরা টেবিলের সমস্ত কলামে
sertোকাতে পারি

1
@ মেহেশ্মনজ না, কেবলমাত্র কলামগুলি নাল নয় এবং কোনও ডিফল্ট মান অন্তর্ভুক্ত করার দরকার নেই, অন্য কোনও কলামগুলি তাদের ডিফল্ট মান বা ন্যূনাল
ট্র্যাভিস

তথ্যের জন্য ধন্যবাদ
maheshmnj

148

INSERTঅন্য টেবিল থেকে একাধিক মানের এক মূল্য পেতে আমি এসকিউএলটি 3 এ নিম্নলিখিত কাজ করেছি:

INSERT INTO column_1 ( val_1, val_from_other_table ) 
VALUES('val_1', (SELECT  val_2 FROM table_2 WHERE val_2 = something))

4
কেবল স্পষ্টতার জন্য: এটি এসকিউএল 3 এর জন্য ভুল। অনুযায়ী ডকুমেন্টেশন জন্য উৎস ডেটাকে INSERTহয় পারেন VALUES বা SELECTবিবৃতি দুটিই নয়।

2
এটি সত্য যে ডকুমেন্টেশনগুলি এটি তালিকাভুক্ত করে না, তবে এটি কাজ করে। নির্বিশেষে, আমি মনে করি যে মানগুলির পরিবর্তে সিলেক্ট স্টেটমেন্ট ব্যবহার করা এটি আরও পঠনযোগ্য করে তোলে।
বানজোক্যাট

1
এটি একটি সারির অভ্যন্তরে একটি মান নির্দিষ্ট করার জন্য কাজ করে তবে আরও সাধারণ ক্ষেত্রে প্রচুর সারি পাওয়া দরকার।
লুচোস্টেইন

যদি ভাল_1 সারিগুলি জুড়ে না পরিবর্তন হয়, তবে নিম্নলিখিত সিনট্যাক্সটি এসকিউএলটি 3 এ কাজ করতে পারে? 'foo' নির্বাচন করুন, কিছু_সামগ্রী থেকে কিছু_সামগ্রী - এসকিউএল সার্ভারে কাজ করে 2014
ক্রিস বি

ডকুমেন্টেশন এটি (এখন?) এর তালিকাভুক্ত করে: এই বাক্য গঠনটি একটি INSERT INTO ... VALUES ([expr], [expr], ...)এবং এর মধ্যে একটি পথ [expr]রয়েছে {{NOT} EXISTS} ([select-stmt])- নোট করুন যে নির্বাচিত বিবৃতিটির চারপাশে {}
প্যারান্থেসিস

64

আমি যে উত্তরগুলি দেখতে পাই তা উভয়ই বিশেষ করে ইনফর্মিক্সে সূক্ষ্মভাবে কাজ করে এবং মূলত স্ট্যান্ডার্ড এসকিউএল হয়। তা হল, স্বরলিপি:

INSERT INTO target_table[(<column-list>)] SELECT ... FROM ...;

ইনফর্মিক্সের সাথে দুর্দান্ত কাজ করে এবং, আমি আশা করব, সমস্ত ডিবিএমএস। (৫ বা তারও বেশি বছর আগে একবার, এটি মাইএসকিউএল সর্বদা সমর্থন করে না এমন জিনিস; এটি এখন এই প্রকারের স্ট্যান্ডার্ড এসকিউএল সিনট্যাক্সের জন্য শালীন সমর্থন এবং এটিএএফএইকে এই স্বরলিপিটিতে ঠিক আছে work) কলামের তালিকা isচ্ছিক তবে লক্ষ্যের কলামগুলি ধারাবাহিকভাবে নির্দেশ করে, তাই নির্বাচন ফলাফলের প্রথম কলামটি প্রথম তালিকাভুক্ত কলামে যাবে, ইত্যাদি। কলাম তালিকার অনুপস্থিতিতে, নির্বাচনের ফলাফলের প্রথম কলামটি প্রবেশ করবে লক্ষ্য সারণির প্রথম কলাম।

সিস্টেমগুলির মধ্যে কী আলাদা হতে পারে তা বিভিন্ন ডাটাবেসে টেবিলগুলি সনাক্ত করতে ব্যবহৃত স্বরলিপি - আন্ত-ডাটাবেস (আন্তঃ- DBMS) ক্রিয়াকলাপ সম্পর্কে স্ট্যান্ডার্ডটির কিছুই বলার নেই। ইনফর্মিক্সের সাহায্যে, আপনি একটি টেবিল শনাক্ত করতে নিম্নলিখিত স্বরলিপিটি ব্যবহার করতে পারেন:

[dbase[@server]:][owner.]table

এটি হ'ল, আপনি একটি ডাটাবেস নির্দিষ্ট করে দিতে পারেন, সার্ভারটি সনাক্ত করে যা সেই ডাটাবেসটিকে হোস্ট করে যদি এটি বর্তমান সার্ভারে না থাকে, তার পরে একটি বিকল্প বিকল্প, ডট এবং প্রকৃত সারণির নাম থাকে। এসকিউএল স্ট্যান্ডার্ড ইনফর্মিক্সকে মালিককে যা বলে তার জন্য স্কিমা শব্দটি ব্যবহার করে। সুতরাং, ইনফর্মিক্সে, নীচের যে কোনও স্বরলিপি একটি সারণী সনাক্ত করতে পারে:

table
"owner".table
dbase:table
dbase:owner.table
dbase@server:table
dbase@server:owner.table

সাধারণভাবে মালিককে উদ্ধৃত করা প্রয়োজন হয় না; তবে, আপনি যদি উদ্ধৃতি ব্যবহার করেন, আপনার মালিকের নাম বানানটি সঠিকভাবে নেওয়া দরকার - এটি কেস-সংবেদনশীল হয়ে ওঠে। এটাই:

someone.table
"someone".table
SOMEONE.table

সমস্ত একই টেবিল চিহ্নিত। ইনফর্মিক্সের সাথে, মোড এএনএসআই ডাটাবেসগুলির সাথে একটি হালকা জটিলতা রয়েছে, যেখানে মালিকের নামগুলি সাধারণত উচ্চ-কেসে রূপান্তরিত হয় (ইনফরমেশনটি ব্যতিক্রম is এটি, একটি মোড এএনএসআই ডাটাবেসে (সাধারণত ব্যবহৃত হয় না), আপনি লিখতে পারেন:

CREATE TABLE someone.table ( ... )

এবং সিস্টেম ক্যাটালগের মালিকের নাম "কেউ" না হয়ে "কিছু" হবে। আপনি যদি মালিকের নামটি ডাবল উদ্ধৃতিতে আবদ্ধ করেন তবে এটি একটি সীমিত চিহ্নিতকারীর মতো কাজ করে। স্ট্যান্ডার্ড এসকিউএল সহ, সীমানা চিহ্নিতকারীগুলি অনেক জায়গায় ব্যবহার করা যেতে পারে। ইনফর্মিক্সের সাহায্যে আপনি এগুলি কেবলমাত্র মালিকের নামের আশেপাশে ব্যবহার করতে পারেন - অন্যান্য প্রসঙ্গে, ইনফর্মিক্স একক-উদ্ধৃত স্ট্রিংগুলিকে স্ট্রিং এবং ডাবল-কোটেড স্ট্রিংগুলিকে পৃথকীকৃত সনাক্তকারী হিসাবে আলাদা করার পরিবর্তে উভয়কেই স্ট্রিং হিসাবে বিবেচনা করে। (অবশ্যই, সম্পূর্ণতার জন্য, একটি পরিবেশ পরিবর্তনশীল রয়েছে, ডেলিমিডেন্ট, এটি নির্ধারণ করা যেতে পারে - যে কোনও মান হিসাবে, তবে ওয়াই সবচেয়ে নিরাপদ - এটি বোঝাতে যে ডাবল কোটগুলি সর্বদা সীমিত চিহ্নিতকারী এবং একক উদ্ধৃতি সর্বদা স্ট্রিংকে ঘিরে থাকে))

নোট করুন যে এমএস এসকিউএল সার্ভার বর্গাকার বন্ধনীতে আবদ্ধ [সীমিত চিহ্নিতকরণকারীদের] ব্যবহার করতে পরিচালনা করে। এটি আমার কাছে অদ্ভুত দেখাচ্ছে এবং এটি অবশ্যই এসকিউএল স্ট্যান্ডার্ডের অংশ নয়।


40

প্রথম উত্তরে কিছু যুক্ত করতে, যখন আমরা অন্য টেবিল থেকে কেবল কয়েকটি রেকর্ড চাই (এই উদাহরণে কেবল একটি):

INSERT INTO TABLE1
(COLUMN1, COLUMN2, COLUMN3, COLUMN4) 
VALUES (value1, value2, 
(SELECT COLUMN_TABLE2 
FROM TABLE2
WHERE COLUMN_TABLE2 like "blabla"),
value4);

4
এই পন্থাটি কেবলমাত্র এই জাতীয় উপকরণের ক্ষেত্রে প্রযোজ্য যে কেবল একটি কলাম নির্বাচিত। একাধিক-কলামের সাবকিউয়ের ক্ষেত্রে, একটি ত্রুটি 'সাবকিউরি অবশ্যই একটি মাত্র কলাম ফেরত দিতে হবে' উত্থাপিত হবে। @ ট্র্যাভিসের উত্তরটি তখন গ্রহণ করুন।
স্নোফক্স

34

বেশিরভাগ ডাটাবেসগুলি মৌলিক বাক্য গঠন অনুসরণ করে,

INSERT INTO TABLE_NAME
SELECT COL1, COL2 ...
FROM TABLE_YOU_NEED_TO_TAKE_FROM
;

প্রতিটি ডাটাবেসের আমি ব্যবহার করেছেন যথা এই সিনট্যাক্স অনুসরণ DB2, SQL Server, MY SQL,PostgresQL


34

কোয়েরির VALUESঅংশের পরিবর্তে INSERT, কেবল SELECTনীচের মত কোয়েরি ব্যবহার করুন ।

INSERT INTO table1 ( column1 , 2, 3... )
SELECT col1, 2, 3... FROM table2

32

নির্বাচন করা সাব-কোয়েরি সহ সন্নিবেশ করার জন্য দুটি পন্থা।

  1. এক সারির সাথে SELECT সাবকোরির ফলাফল ফেরত ।
  2. একাধিক সারি সহ ফলাফল নির্বাচন করে subquery ।

1. এক সারির সাথে নির্বাচন subquery ফলাফলের সাথে যোগাযোগ করুন ।

INSERT INTO <table_name> (<field1>, <field2>, <field3>) 
VALUES ('DUMMY1', (SELECT <field> FROM <table_name> ),'DUMMY2');

এই ক্ষেত্রে, এটি নির্বাচন করে সাব-কোয়েরি কেবল শর্তের ভিত্তিতে ফলাফলের এক সারি বা এসএমএল, এসএএমএস, ম্যাক্স, এভিজি ইত্যাদির মতো এসকিউএল সমষ্টিগত ফাংশনগুলি প্রদান করে অন্যথায় এটি ত্রুটি ছুঁড়ে ফেলবে

2. সঙ্গে নির্বাচন subquery সঙ্গে ফিরে ফলাফলের জন্য এপ্রোচ একাধিক সারি

INSERT INTO <table_name> (<field1>, <field2>, <field3>) 
SELECT 'DUMMY1', <field>, 'DUMMY2' FROM <table_name>;

দ্বিতীয় পদ্ধতির ক্ষেত্রে উভয় ক্ষেত্রেই কাজ করবে।


29

INSERT INTOআপনি যদি অংশে সমস্ত কলামের মান সরবরাহ করে থাকেন তবে অংশে কলামগুলি নির্দিষ্ট না করেই এটি করা SELECTযায়।

ধরা যাক টেবিল 1 এর দুটি কলাম রয়েছে। এই ক্যোয়ারিতে কাজ করা উচিত:

INSERT INTO table1
SELECT  col1, col2
FROM    table2

এই কাজ করবে না (এর মান col2নির্দিষ্ট করা হয়নি):

INSERT INTO table1
SELECT  col1
FROM    table2

আমি এমএস এসকিউএল সার্ভার ব্যবহার করছি। অন্যান্য আরডিএমএস কীভাবে কাজ করে তা আমি জানি না।


24

এটি সিলেক্ট সহ মানগুলি ব্যবহার করে এটি অন্য একটি উদাহরণ:

INSERT INTO table1(desc, id, email) 
SELECT "Hello World", 3, email FROM table2 WHERE ...

পুরানো উত্তর এবং এখনও দরকারী। খুব সহজ এবং সুস্পষ্ট কিন্তু ঠিক আমার প্রয়োজনগুলি আবরণ করে। ধন্যবাদ!
সেবাস্তিয়ান ক্যাকজমেরেক

21

টেবিল কলামের ক্রমটি জানা গেলে সাধারণ সন্নিবেশ:

    Insert into Table1
    values(1,2,...)

সাধারণ সন্নিবেশ উল্লেখ কলাম:

    Insert into Table1(col2,col4)
    values(1,2)

কোনও সারণীর নির্বাচিত কলামগুলির সংখ্যা (# টেবিল 2) সন্নিবেশ সারণীর (টেবিল 1) সমান হলে বাল্ক সন্নিবেশ

    Insert into Table1 {Column sequence}
    Select * -- column sequence should be same.
       from #table2

আপনি কেবল কোনও সারণির পছন্দসই কলামে সারণি (টেবিল 1) সন্নিবেশ করতে চাইলে বাল্ক সন্নিবেশ:

    Insert into Table1 (Column1,Column2 ....Desired Column from Table1)  
    Select Column1,Column2..desired column from #table2
       from #table2

17

এখানে আরও একটি উদাহরণ রয়েছে যেখানে একাধিক টেবিল ব্যবহার করে উত্স নেওয়া হয়:

INSERT INTO cesc_pf_stmt_ext_wrk( 
  PF_EMP_CODE    ,
  PF_DEPT_CODE   ,
  PF_SEC_CODE    ,
  PF_PROL_NO     ,
  PF_FM_SEQ      ,
  PF_SEQ_NO      ,
  PF_SEP_TAG     ,
  PF_SOURCE) 
SELECT
  PFl_EMP_CODE    ,
  PFl_DEPT_CODE   ,
  PFl_SEC         ,
  PFl_PROL_NO     ,
  PF_FM_SEQ       ,
  PF_SEQ_NO       ,
  PFl_SEP_TAG     ,
  PF_SOURCE
 FROM cesc_pf_stmt_ext,
      cesc_pfl_emp_master
 WHERE pfl_sep_tag LIKE '0'
   AND pfl_emp_code=pf_emp_code(+);

COMMIT;

17

INSERT এ SELECT ধারাটির জন্য কেবল প্রথম বন্ধনী ব্যবহার করুন । উদাহরণস্বরূপ:

INSERT INTO Table1 (col1, col2, your_desired_value_from_select_clause, col3)
VALUES (
   'col1_value', 
   'col2_value',
   (SELECT col_Table2 FROM Table2 WHERE IdTable2 = 'your_satisfied_value_for_col_Table2_selected'),
   'col3_value'
);

ধন্যবাদ @ ডাস এটি আমার জন্য কাজ করছে ....
রাজ জি

16

একাধিক সারণী থেকে কীভাবে সন্নিবেশ করা যায় তা এখানে। এই নির্দিষ্ট উদাহরণটি হ'ল যেখানে আপনার কাছে অনেকগুলি থেকে অনেক দৃশ্যে ম্যাপিং টেবিল রয়েছে:

insert into StudentCourseMap (StudentId, CourseId) 
SELECT  Student.Id, Course.Id FROM Student, Course 
WHERE Student.Name = 'Paddy Murphy' AND Course.Name = 'Basket weaving for beginners'

(আমি বুঝতে পেরেছি যে শিক্ষার্থীর নামের সাথে মিল থাকা একের বেশি মান দিতে পারে তবে আপনি ধারণাটি পাবেন an



14

আপনি যদি SELECT * INTOটেবিল ব্যবহার করে সমস্ত কলাম সন্নিবেশ করতে চান তবে আপনি এটি চেষ্টা করতে পারেন ।

SELECT  *
INTO    Table2
FROM    Table1;

13

আমি আসলে এসকিউএল সার্ভার ২০০৮ এ নিম্নলিখিতটি পছন্দ করি:

SELECT Table1.Column1, Table1.Column2, Table2.Column1, Table2.Column2, 'Some String' AS SomeString, 8 AS SomeInt
INTO Table3
FROM Table1 INNER JOIN Table2 ON Table1.Column1 = Table2.Column3

এটি সন্নিবেশ () সেট যুক্ত করার পদক্ষেপটি সরিয়ে দেয় এবং আপনি কেবল সারণিতে কোন মানগুলি বেছে নেবেন তা নির্বাচন করুন।


13

এটি আমার পক্ষে কাজ করেছে:

insert into table1 select * from table2

বাক্যটি ওরাকলের থেকে কিছুটা আলাদা।


12

মাইক্রোসফ্ট এসকিউএল সার্ভারের জন্য, আমি এমএসডিএন-তে সরবরাহ করা সিওয়াইএনটিএক্স ব্যাখ্যা করতে শেখার পরামর্শ দেব। গুগলের সাথে সিনট্যাক্স সন্ধান করা আগের চেয়ে সহজ।

এই বিশেষ ক্ষেত্রে জন্য, চেষ্টা করুন

গুগল: sertোকানো সাইট: মাইক্রোসফট.কম

প্রথম ফলাফলটি হবে http://msdn.microsoft.com/en-us/library/ms174335.aspx

পৃষ্ঠার শীর্ষে প্রদত্ত সিনট্যাক্সটি ব্যাখ্যা করতে যদি আপনার অসুবিধা হয় তবে উদাহরণটিতে ("অন্যান্য টেবিল থেকে ডেটা toোকানোর জন্য নির্বাচন করুন এবং নির্বাচন বিকল্পগুলি ব্যবহার করুন") এ স্ক্রোল করুন।

[ WITH <common_table_expression> [ ,...n ] ]
INSERT 
{
        [ TOP ( expression ) [ PERCENT ] ] 
        [ INTO ] 
        { <object> | rowset_function_limited 
          [ WITH ( <Table_Hint_Limited> [ ...n ] ) ]
        }
    {
        [ ( column_list ) ] 
        [ <OUTPUT Clause> ]
        { VALUES ( { DEFAULT | NULL | expression } [ ,...n ] ) [ ,...n     ] 
        | derived_table       <<<<------- Look here ------------------------
        | execute_statement   <<<<------- Look here ------------------------
        | <dml_table_source>  <<<<------- Look here ------------------------
        | DEFAULT VALUES 
        }
    }
}
[;]

এটি সেখানে উপলব্ধ যে কোনও আরডিবিএমএসের জন্য প্রযোজ্য উচিত। সমস্ত পণ্য আইএমওর জন্য সমস্ত সিনট্যাক্স মনে রাখার কোনও অর্থ নেই।


আমি পুরোপুরি একমত নই, আমি বছরের পর বছর ধরে এই সিনট্যাক্সের বিবৃতিগুলি দেখছি এবং এখনও সেগুলির মাথা বা লেজ তৈরি করতে পারি না। উদাহরণগুলি আরও বেশি কার্যকর
রেগেইগুইটার

এটি কোনও উত্তর নয়, এটি "ডক্সগুলি পড়ুন" বলছে এবং এটি সম্পর্কে এটি
রেগেইগুইটার

12
INSERT INTO FIRST_TABLE_NAME (COLUMN_NAME)
SELECT  COLUMN_NAME
FROM    ANOTHER_TABLE_NAME 
WHERE CONDITION;

@ggorlen এটিকে আমার কাছে বেশ স্পষ্ট মনে হচ্ছে
রেগেইগুইটার

এটি কেবলমাত্র কোড-উত্তর হিসাবে পর্যালোচনা সারিতে পতাকাঙ্কিত করা হয়েছিল। যদিও আমি এখানে আপনার পয়েন্টটি দেখতে পাচ্ছি - এই পৃষ্ঠায় বেশিরভাগ উত্তরের প্রসঙ্গে এখনই বলার মতো খুব বেশি কিছু নেই যে আমি এটি প্রাকৃতিক পরিবেশে দেখছি।
ggorlen

9
select *
into tmp
from orders

দেখতে দুর্দান্ত দেখাচ্ছে, তবে কেবলমাত্র টিএমপি উপস্থিত না থাকলে এটি কাজ করে (এটি তৈরি করে এবং পূরণ করে)। (এসকিউএল বিভাজন)

বিদ্যমান টিএমপি সারণিতে সন্নিবেশ করানোর জন্য:

set identity_insert tmp on

insert tmp 
([OrderID]
      ,[CustomerID]
      ,[EmployeeID]
      ,[OrderDate]
      ,[RequiredDate]
      ,[ShippedDate]
      ,[ShipVia]
      ,[Freight]
      ,[ShipName]
      ,[ShipAddress]
      ,[ShipCity]
      ,[ShipRegion]
      ,[ShipPostalCode]
      ,[ShipCountry] )
      select * from orders

set identity_insert tmp off

9

অন্য কোনও সারণী থেকে একাধিক রেকর্ড সন্নিবেশ করানোর সর্বোত্তম উপায়।

INSERT  INTO dbo.Users
            ( UserID ,
              Full_Name ,
              Login_Name ,
              Password
            )
            SELECT  UserID ,
                    Full_Name ,
                    Login_Name ,
                    Password
            FROM    Users_Table
            (INNER JOIN / LEFT JOIN ...)
            (WHERE CONDITION...)
            (OTHER CLAUSE)

2

আপনি যদি একাধিক সারি সন্নিবেশ করানোর জন্য INSERT VALUES রুটে যান তবে ভ্যালুগুলি প্রথম বন্ধনী ব্যবহার করে সেটগুলিতে সীমাবদ্ধ করতে ভুলবেন না, তাই:

INSERT INTO `receiving_table`
  (id,
  first_name,
  last_name)
VALUES 
  (1002,'Charles','Babbage'),
  (1003,'George', 'Boole'),
  (1001,'Donald','Chamberlin'),
  (1004,'Alan','Turing'),
  (1005,'My','Widenius');

অন্যথায় মাইএসকিউএল অবজেক্ট করে যে "কলাম গণনাটি সারি 1-এ মান গণনার সাথে মেলে না" এবং আপনি অবশেষে এটি সম্পর্কে কী করবেন তা ভেবে দেখলে আপনি একটি তুচ্ছ পোস্ট লেখেন।


6
প্রশ্নটি " অন্য টেবিলের ইনপুটটি ব্যবহার করে একটি সারণিতে প্রবেশ করান "। আপনার উত্তর এই প্রশ্নের সমাধান করে?
গুণমান অনুঘটক

3
এহ ওকে খুব শক্ত করতে না। আমি যখন প্রায় ঘুরে বেড়াচ্ছিলাম তখন এটি আমার প্রশ্নের উত্তর দেয়। @ কোয়ালিটি কেলেস্ট
ক্যামেরন বেল্ট


0

পোস্টগ্র্রেস পরবর্তী সমর্থন করে: সংস্থার.মনিটর থেকে নির্বাচন করুন * হিসাবে টেবিল Company.monitor2 তৈরি করুন;


0

যদি আপনি কলামের নাম লিখতে না চান তবে কোনও টেবিলের মধ্যে কিছু ডেটা toোকাতে চান।

INSERT INTO CUSTOMER_INFO
   (SELECT CUSTOMER_NAME,
           MOBILE_NO,
           ADDRESS
      FROM OWNER_INFO cm
     WHERE ID>100)

টেবিলগুলি যেখানে:

            CUSTOMER_INFO               ||            OWNER_INFO
----------------------------------------||-------------------------------------
CUSTOMER_NAME | MOBILE_NO | ADDRESS     || CUSTOMER_NAME | MOBILE_NO | ADDRESS 
--------------|-----------|---------    || --------------|-----------|--------- 
      A       |     +1    |   DC        ||       B       |     +55   |   RR  

ফলাফল:

            CUSTOMER_INFO               ||            OWNER_INFO
----------------------------------------||-------------------------------------
CUSTOMER_NAME | MOBILE_NO | ADDRESS     || CUSTOMER_NAME | MOBILE_NO | ADDRESS 
--------------|-----------|---------    || --------------|-----------|--------- 
      A       |     +1    |   DC        ||       B       |     +55   |   RR
      B       |     +55   |   RR        ||
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.