使用 Peewee 在 MariaDB 中强制执行 Not Null 字段
Enforce Not Null field in MariaDB using Peewee
好吧,我正在尝试将 Peewee
用于一个小项目。我需要字段 text
和 url
(在 MariaDB 中都是 longtext
)为 not null
,对于 not null
我理解 不允许空值要存储在字段中的值,所以我这样做了:
database = MySQLDatabase("mydatabase", user="", password="123justkidding", host="localhost")
class MyTable(Model):
text = TextField(null = False)
url = TextField(null = False, max_length = 100)
class Meta:
database = database
然后,当然,我创建了 table 并开始添加值,很多值。问题是 text
和 url
字段上有一些 empty
值,我不希望它们是这样。
我 运行 这个查询:
SELECT `table`.`text`, `table`.`url` FROM `table` WHERE `table`.`text`="" AND `table`.`url`=""
并给了我四行。那么,我想念什么?
另外,我注意到 MariaDB 有 Text, Medium Text, LongText 作为数据类型
在我看来,Peewee
中的 TextField
是 MariaDB
中 LongText
的默认值。我有什么办法可以改变它吗?
提前致谢。
""
是空字符串。 NULL
完全不同。
好吧,我正在尝试将 Peewee
用于一个小项目。我需要字段 text
和 url
(在 MariaDB 中都是 longtext
)为 not null
,对于 not null
我理解 不允许空值要存储在字段中的值,所以我这样做了:
database = MySQLDatabase("mydatabase", user="", password="123justkidding", host="localhost")
class MyTable(Model):
text = TextField(null = False)
url = TextField(null = False, max_length = 100)
class Meta:
database = database
然后,当然,我创建了 table 并开始添加值,很多值。问题是 text
和 url
字段上有一些 empty
值,我不希望它们是这样。
我 运行 这个查询:
SELECT `table`.`text`, `table`.`url` FROM `table` WHERE `table`.`text`="" AND `table`.`url`=""
并给了我四行。那么,我想念什么?
另外,我注意到 MariaDB 有 Text, Medium Text, LongText 作为数据类型
在我看来,Peewee
中的 TextField
是 MariaDB
中 LongText
的默认值。我有什么办法可以改变它吗?
提前致谢。
""
是空字符串。 NULL
完全不同。