• <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>

    SQL插入不完整的信息方法

    SQL在插入記實的時辰,凡是并不是表中一整行所有字段都填充了值的,這種環境下的插入有可能當作功,也有可能掉敗,就看缺掉的信息是什么類型

    東西/原料

    • sql server
    • Sql Server Management Studio

    方式/步調

    1. 1

      打開Sql Server Management Studio客戶端,毗連上數據庫,利用如下劇本建立一張數據庫表tblEmpty(字段全可空,且無本家兒鍵)

           CREATE TABLE tblEmpty(

               Id varchar(40) NULL,

               Col1 varchar(50) NULL,

               Col2 varchar(50) NULL,

               Col3 varchar(50) NULL,

               Col4 varchar(50) NULL

           );

    2. 2

      往測試表tblEmpty中插入測試數據,此時,只插入一個字段值,從成果可以看到,這種字段全可空,無任何約束,本家兒鍵都沒有設置的表,插入不完整的信息是可以當作功的:

           insert into tblEmpty(Id) values('123');

    3. 3

      點竄測試表,將ID欄位設置為本家兒鍵,從執行成果,可以看出,可空的字段是不克不及作為本家兒鍵的

           alter table tblEmpty add constraint PK_ID primary key (id);

    4. 4

      點竄測試表,將ID欄位設置為不成空,然后再設置本家兒鍵,從成果可以看出,執行當作功了(按挨次一行一行的執行)

           alter table tblEmpty alter column id varchar(40) not null;

           alter table tblEmpty add constraint PK_ID primary key (id);

    5. 5

      再利用第二步的sql語句,往測試表中插入不異的值,可是仍然只有一個ID列有值,執行成果:掉敗,因為本家兒鍵值不克不及反復

           insert into tblEmpty(Id) values('123');  

    6. 6

      點竄第二步的sql語句,插入一個分歧的值,試一試呢,執行成果:當作功

           insert into tblEmpty(Id) values('456');  

    7. 7

      插入除了ID列的所有字段信息,執行成果:掉敗,因為本家兒鍵值不克不及反復。

           insert into tblEmpty(Col1, Col2, Col3, Col4) values('第二列', '第三列', '第四列', '第五列');

    8. 8

      總結,同時知足下面前提的不完整信息插入就可以當作功,不然,就不可:

           1)插入的所有本家兒鍵列都有值,且不反復

           2)插入的所有非空欄位都有值,且不反復

           3)插入的所有堆積索引欄位都有值,且不反復

    • 發表于 2019-01-11 00:00
    • 閱讀 ( 923 )
    • 分類:其他類型

    你可能感興趣的文章

    相關問題

    0 條評論

    請先 登錄 后評論
    聯系我們:uytrv@hotmail.com 問答工具
  • <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>
    久久久久精品国产麻豆