在SQLite for Android中,添加多主键的正确方法是什么?
目前我有:
String Create_table = "CREATE TABLE project ( keyId INTEGER PRIMARY KEY, keyName TEXT PRIMARY KEY)";
我想到的替代方法是:
String Create_table = "CREATE TABLE project (keyID INTEGER, keyName TEXT, PRIMARY KEY(keyID, keyName))";
两者都有效吗?如果是这样,哪个更好?另外我如何禁止NULL值?
答案 0 :(得分:7)
不能为单个表创建多个主键。这是任何SQL的基本规则。但是,您可以使用其他约束,例如 UNIQUE 和索引来实现此目的。
这不是有效的SQL语法:
String Create_table =“CREATE TABLE项目(keyId INTEGER PRIMARY KEY,keyName TEXT PRIMARY KEY)”;
另外,您可以按如下方式为多列创建主键:
Create Table yourTableName (col1, col2, col3, PRIMARY KEY (col1, col2));
如何禁止 NULL 值?
您可以使用 NOT NULL 约束,它不允许您输入 NULL 值。
答案 1 :(得分:-1)
您可以在一个表中使用一个主键,更多外键