我想用Python和Flask框架和SQLAlchemy模块在我的数据库中创建一个新表(oracle11g,但是是ubuntu16.04的速成版)。表的第一个字段it's and ID是一个整数字段,我希望它自动递增,但是Oracle数据库不支持autoincrement。我有一个要添加新注释的窗体,但当我试图添加新记录时,它会报告一个错误:
在sqlalchemy.exc.IntegrityError:(cx)_Oracle.IntegrityError)ORA-01400:无法将NULL插入到(“WIKTOR.”“TBL\u COMENTARIOS.”“ID”)[SQL:“插入到TBL\u COMENTARIOS(usario,comentario,fecha)值中(:usuario,:comentario,:fecha)返回TBL_comentarios.idINTO:ret\u 0'][参数:{'usario':'wiktor','comentario':'hola',“费查”:日期时间。日期时间(2017,5,24,11,23,45,39450),“回复0”:}]
基本上它说ID不能为null,这是因为表单中没有字段来添加它,所以它将ID发送为空,然后数据库模型的自动增量就不起作用了。代码如下:db = SQLAlchemy()
class Comentarios(db.Model):
__tablename__ = 'tbl_comentarios'
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
usuario = db.Column(db.String(50))
comentario = db.Column(db.Text())
fecha = db.Column(db.DateTime, default = datetime.datetime.now)
def __init__(self, usuario, comentario):
self.usuario = usuario
self.comentario = comentario
我也试过:
^{pr2}$
这段代码在SQL数据库中确实有效,但在Oracle数据库中都不起作用。在
对不起我的英语,我希望有人能帮我。。。
谢谢!在