【发布时间】:2013-09-02 06:31:32
【问题描述】:
我有一个包含复合主键的表。
我正在对该表进行更新,并且在 where 子句中我需要主列的名称。 直到现在我一直在使用:
string sql = "SELECT PrimaryColumnName = col.column_name
FROM information_schema.table_constraints tc
INNER JOIN information_schema.key_column_usage col
ON col.Constraint_Name = tc.Constraint_Name
AND col.Constraint_schema = tc.Constraint_schema
WHERE tc.Constraint_Type = 'Primary Key'
AND col.Table_name = '" + TABLE NAME HERE + "'";
获取主键列。但是,如果主键是复合的,它就会失败。 我如何在这里进行更新? 帮助。
【问题讨论】:
-
请始终使用parameterized sql。这种字符串连接对SQL Injection 攻击开放。
标签: c# sql sql-server primary-key