我正在使用Conreate 5 CMS创建q站点。 我正在创建一个新块,我必须使用AXMLS来创建数据库表。 我已经能够创建一个基本表,但我想扩展它以添加一个检查约束。下面是我到目前为止编写的代码。
<?xml version="1.0"?>
<schema version="0.3">
<table name="btAddVehicle">
<field name="bID" type="I">
<key />
<unsigned />
</field>
<field name="title" type="C" size="100">
<NOTNULL />
</field>
<field name="imgLocation" type="X"></field>
<field name="year" type="I" size="4"></field>
<field name="desciption" type="X"></field>
</table>
</schema>
所以对于我想要的那一行,大小=“4”会将值的数量限制为4.例如1990,1999,但这没有工作
我已阅读此http://phplens.com/lens/adodb/docs-datadict.htm#foreignkey
但似乎不清楚
它说
CONSTRAINTS Additional constraints defined at the end of the field definition."
所以它会是这样的
<field name="year" type="I" constraint="check([year] LIKE REPLICATE ('[0-9]', 4)) "></field>
或者我需要在此代码的末尾添加一个
`<sql>
add some kind of alter table to add the constraint
AlTER tblTable etc....
</sql>`
答案 0 :(得分:0)
size = 4只将它限制在0到9999之间的数字。所以不,这不会起作用。
我也不知道如何使用CONSTRAINTS,但我从来没有需要。通常我使用Concrete5&#39; validation helper来验证值,然后再将它们保存到数据库中。如果需要,使用validation error helper
还可以更轻松地将其打印到视图中的用户希望这可以帮助你...