Php 曾杜德。在构建db表时是否需要手动设置主键和外键?
当我阅读J.Gilmore Zend的书(模型部分)时: 我有一个问题:Php 曾杜德。在构建db表时是否需要手动设置主键和外键?,php,mysql,zend-framework,model,zend-db,Php,Mysql,Zend Framework,Model,Zend Db,当我阅读J.Gilmore Zend的书(模型部分)时: 我有一个问题: 构建表时是否需要手动设置主键和外键 (例如,在phpmyadmin中,具有类似“主键(id)”的内容,外键(post)引用用户(id) 关于“删除级联”) 或者我可以通过使用$\u primary、$\u dependentTable、$\u referenceMap等引用Zend代码来处理表关系和字段性质 谢谢 Luca创建表时,应该正确定义主键/唯一键和任何其他索引 在99%的情况下执行此操作后,Zend_Db将了
- 构建表时是否需要手动设置主键和外键 (例如,在phpmyadmin中,具有类似“主键(id)”的内容,外键(post)引用用户(id) 关于“删除级联”)
- 或者我可以通过使用$\u primary、$\u dependentTable、$\u referenceMap等引用Zend代码来处理表关系和字段性质
Luca创建表时,应该正确定义主键/唯一键和任何其他索引
在99%的情况下执行此操作后,Zend_Db将了解发生了什么,因为它能够读取表元数据并从中派生主键。创建表时,您应该正确定义主键/唯一键和任何其他索引
在99%的情况下执行此操作后,Zend_Db将了解发生了什么,因为它能够读取表元数据并从中派生主键。两者都可以。尽管可以使用ORM处理关系,但数据库确保在低级别上尊重这些关系。总是让数据库尽可能多地完成它的工作,它是为处理关系和防止数据损坏而构建的。如果你的ORM有bug怎么办
作为一个相关的例子,假设您在数据库中有一个声明为int的字段,作为开发人员,您有责任确保在查询中使用int,但数据库在较低的级别强制执行该规则,以防您不使用int,从而保护您的数据。。尽管可以使用ORM处理关系,但数据库确保在低级别上尊重这些关系。总是让数据库尽可能多地完成它的工作,它是为处理关系和防止数据损坏而构建的。如果你的ORM有bug怎么办 作为一个相关的例子,假设您在数据库中有一个字段声明为int,作为开发人员,您有责任确保您在查询中使用int,但数据库在较低级别上强制执行该规则,以防您不使用该规则时保护您的数据。+1表示“两者”。如果可能,为了安全性和完整性,请同时使用+1。如果可能,为了安全性和完整性,请同时使用。
class Game extends Zend_Db_Table_Abstract
{
protected $_primary='id'; //line 4
}
[..]Line 4 identifies the table's primary key.By default the framework will
presume the primary key is an automatically incrementing integer named id,so
this line is not necessary [..]