2017-02-10 10 views
0

私はSQLを初めて使用していますが、Microsoft SQL Server 2012を使用しています。最初に作成するID名と姓のレコードを取得するテーブルを作成しようとしています2つの列のintと名前を持つテーブルと私はそれらにレコードを挿入するすべてが完全に行くと私はそれにデータを挿入しようとした後last_name列を追加した私はlast_nameのレコードを挿入することはできませんIDと名前のレコード。名前のレコードにlast_nameレコードをパラレルに挿入できません

create table test (id int , name varchar(20)); 

insert into test(id,name) 
values(1,'Abid'),(2,'Muhammad'),(3,'Raza'),(4,'Khan'); 

alter table test 
add last_name varchar(20) 
+0

何を試しましたか?エラーは何ですか? 「並行」とはどういう意味ですか? 'insert into test(id、name、last_name)に問題はないはずです。 値(1、 'Abid'、 'Whatever') ' –

+0

あなたの問題をもっと詳しく説明できますか?あなたが投稿したスクリプトは完全に動作するので、実際の問題は何ですか? –

+2

「idとnameのレコードに並行」はどういう意味ですか?行を '更新 'したいのですか?例えば'update test set last_name = 'Muhammad' id = 1' – SqlZim

答えて

0

あなたがしたいことはわかりません。すでに作成した行へのlast_name列を記入したい場合は、UPDATE句を使用する必要がある、と入れない:

UPDATE test 
SET last_name = 'Abid's last name' 
from test where id = 1 

を既存のすべての行に対して繰り返します。また、行うことができます:

create table test (id int , name varchar(20)); 
insert into test(id,name) 
values(1,'Abid'),(2,'Muhammad'),(3,'Raza'),(4,'Khan'); 
alter table test 
add last_name varchar(20) 
TRUNCATE TABLE test 
insert into test(id,name,last_name) 
values(1,'Abid','I'),(2,'Muhammad','Love'),(3,'Raza','SQL'),(4,'Khan','Server'); 

ハッピーコーディング!あなたはどこに置くいけない場合、あなたはすべての行のすべてのlast_name列を更新するために行く、WHERE句を覚えて

update test set last_name = 'last name' where id=1 

:あなたはあなたの場合には、その行を更新するために必要行の列を修正する

+0

ありがとうございました。これは私の問題をかなり解決しましたが、私はlast_name列私はidとnameの値を書きたくないのですが、どうすればいいですか? –

+0

この場合、INSERT INTOテスト(last_name)の値( 'Value1') ' –

0

願っています!