当前位置:  开发笔记 > 前端 > 正文

Sqlite在create table中设置默认值

如何解决《Sqlite在createtable中设置默认值》经验,为你挑选了2个好方法。

我写了类似的东西

create table if not exists QuickTest (
id integer primary key NOT NULL,
a TEXT DEFAULT @0,
b TEXT,
c TEXT);

我在@ 0上收到错误.有没有办法在这里插入参数或我需要硬编码值?我通常喜欢在设置值时使用参数.



1> pierrotlefou..:

您必须使用字符串常量或NULL.

http://www.sqlite.org/syntaxdiagrams.html#column-constraint

DEFAULT约束指定执行INSERT时要使用的默认值.值可以是NULL,字符串常量,数字或括在括号中的常量表达式.默认值也可以是特殊情况独立关键字CURRENT_TIME,CURRENT_DATE或CURRENT_TIMESTAMP之一.如果值为NULL,字符串常量或数字,则只要执行未指定列值的INSERT语句,就会将其插入到列中.如果值为CURRENT_TIME,CURRENT_DATE或CURRENT_TIMESTAMP,则将当前UTC日期和/或时间插入列中.对于CURRENT_TIME,格式为HH:MM:SS.对于CURRENT_DATE,YYYY-MM-DD.CURRENT_TIMESTAMP的格式为"YYYY-MM-DD HH:MM:SS".



2> tuinstoel..:

您不能在ddl(数据定义语言)语句中使用参数,只能在dml(数据操作语言)语句中使用select语句并允许使用参数.

推荐阅读
kikokikolove
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有