我想使用TSQL确定表的主键(存储过程或系统表都可以)。SQL Server(2005或2008)中是否存在这种机制?
这应该使您开始:
SELECT
*
FROM
INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc
JOIN
INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE ccu
ON tc.CONSTRAINT_NAME = ccu.Constraint_name
WHERE
tc.TABLE_NAME = 'TableName' AND
tc.CONSTRAINT_TYPE = 'Primary Key'
问题内容: 我正在用PHP生成这样的SQL查询: 由于此查询的几乎每个部分都是动态的,因此我需要一种动态确定表的主键的方法,这样我就可以进行如下查询: 表的主键是否有MySQL关键字,或者有获取该关键字的方法? 我以前使用过information_schema数据库来查找这样的信息,但是如果我不必求助于此,那将是很好的。 问题答案: 您想要其中Key_name = PRIMARY的行 http:/
问题内容: 我希望能够以某种方式在SQL Server 2005中执行的操作是以表名作为输入来确定组成主键的所有字段。似乎没有这个领域。关于在哪里看有什么想法? 问题答案: 我在编写的代码生成器中使用它来获取主键:
我试图增加我的MySQL数据库模式的约束,为每个表添加外键约束。 表1:用户 INT(11)UNSIGNED NOT NULL AUTO_INCREMENT username`VARCHAR(50)不为空 主键() 表2:磁盘(这与用户有一对多的关系) INT(11)UNSIGNED NOT NULL AUTO_INCREMENT INT(11)不为空, 主键(,)索引(ASC) 约束 外键()
问题内容: 我已经使用下面给出的建议更新了代码,该建议已经过测试并且效果很好,可以为将来的用户提供快速参考。 我使用下面的代码来创建链接表,而不必为每个用户设置DSN,我如何指定主键,因为系统会询问您是否手动连接: 注意:上面是针对SQL Server VIEW的,对于SQL Server TABLE而言是相同的,但是您不需要该行(如果在服务器上正确设置了主键)。 该代码代替了链接表并手动指定主键
jOOQ具有文档中所述的CREATE TABLE语法: 我想知道如何定义哪个列属于主键?那么,在jOOQ中有没有办法用主键信息创建create TABLE语句呢? 我对SQLite的解决方案特别感兴趣,它没有语法来添加主键,所以我认为在最坏的情况下,我必须去一个特定于数据库的解决方案?
问题内容: 我有一个临时表,该表使用批量插入来插入数据。但是,当我想将数据从临时表更新到普通表时,它会产生排序规则问题。我知道如何使用类似的方法来解决此问题: 但是,有没有一种方法可以立即在临时表中设置排序规则,因此您不必在联接中使用排序规则?就像是: 这是正确的编码吗,您是否必须对每个表或每个列设置一次排序规则?而且,如果在表中设置了排序规则,那么您可以从联接中排除该排序规则吗? 问题答案: 您