1、聯合主鍵作爲一個表的主鍵時,通過select語句構建表,必須包含全部的聯合主鍵進行操作,否則進行編輯更新時,不能更新到庫中。
2、不要使用缺省字段, 使用缺省字段,增加的時候沒有問題,通過sql語句構建表,第一次更新沒有問題,再次更新就會出現違反唯一性的錯誤提示,很鬱悶。建議在代碼中動態增加給字段賦值,賦值的時候需要處理只對新增行賦值,不要給所有行賦值,否則刪除行保存入庫有問題。
3、兩個表,例如井層位數據和標準層位數據,我們要取井的所有層位數據,其中有些層位井有,但是標準層位數據沒有,那麼我們就要採用聯合纔可以得到。
原來只採用了 a.stratumName = b.stratumName來處理這樣只能獲取在標準層位關聯的井層位信息。
如果要獲取所有層位數據包括不在標準層位信息表中的數據,需要這樣獲取 from table1 a left join table2 b on a.column1 = b.column1
。
4、每一個表定義一個主鍵,這個主鍵是整數,唯一,只能增加不能編輯。因爲主鍵編輯的時候,會有一個問題。用戶想交換兩個主鍵的值時,更新庫就有問題了。
5、sqlserver 缺省不缺分大小寫的,如果要區分,寫入下代碼。
表
ALTER TABLE 表名字
ALTER COLUMN 列名字 nvarchar(100)(類型) COLLATE Chinese_PRC_CI_AS
--不區分大小寫
ALTER TABLE tb
ALTER COLUMN colname nvarchar(100) COLLATE Chinese_PRC_CS_AS
--區分大小寫