我正在构建一个PHP/MySQL应用程序,我遇到了创建和更新查询的问题.我有5列设置为FLOAT类型,也设置为NULL列.我不打算在工作流程的后期填写它们.
但是,我需要为这个数据库创建新记录,我需要编辑现有记录,而根本不涉及这5个浮点字段.我正在使用OOP PHP,它使用标准save()方法检查对象中是否存在ID.如果没有,则调用create(),如果是,则调用update().它通常很有效.
的update()和create()方法被设计为从拉protected static $db_fields在每个类的顶部声明属性阵列,它包含了所有在该表中使用的字段.update()并create()通过该数组和运行任何INSERT INTO或UPDATE在SQL中,相应.
我的理解是,如果你使用''(两个单引号,空),SQL将跳过这些INSERT INTO或UPDATE请求并将它们保留为NULL.页面上任何地方的5个浮点值都没有表单字段,因此当方法运行时,值将是''.
这就是我收到"数据截断"错误的原因吗?它似乎有所不同 - 我之前没有看到过截断的错误,这就是为什么我要来找天才.谢谢.