PCi*_*Cid 2 c++ sql postgresql key auto-increment
使用C++在PostgreSQL中创建整数主键自动增量字段的正确语法是什么?
我开始了
db->ExecuteSQL("CREATE TABLE mytable (\"mytableid\" INTEGER PRIMARY KEY AUTO_INCREMENT NOT NULL,
Run Code Online (Sandbox Code Playgroud)
这会编译但进程崩溃并且不会创建任何字段.
db->ExecuteSQL("CREATE TABLE mytable (\"mytableid\" serial PRIMARY KEY NOT NULL,
Run Code Online (Sandbox Code Playgroud)
这可以正确地创建字段.
我需要NOT NULL或者这不是必需的serial吗?
这是Postgres中用于创建主键字段的最佳语法和方法吗?
你不需要NOT NULL.定义列时暗示了这一点PRIMARY KEYS.每个文件:
从技术上讲,主键约束只是唯一约束和非空约束的组合.
另外,serial还暗示NOT NULL.它本身不是数据类型,只是integer NOT NULL附加序列的符号方便.
所以这是完美的语法:
CREATE TABLE mytable (mytableid serial PRIMARY KEY);
Run Code Online (Sandbox Code Playgroud)
只要您不想使用大小写标识符,保留字或"非法"字符,就不需要双引号列名称.我建议专门使用合法的小写标识符,以使您的代码不易出错(并且您的生活更简单).
| 归档时间: |
|
| 查看次数: |
693 次 |
| 最近记录: |