【发布时间】:2012-01-10 13:07:00
【问题描述】:
我有一个函数可以从一个数据库中读取数据,格式化并重新组合它们,然后将它们插入另一个数据库。但是,目标数据库应拒绝某些列缺少数据的任何行。我想这样做的方法是在目标表中的相关列上设置 NOT NULL 约束,这样当这些值为 NULL 时,INSERT 语句就不会被执行。
但是,在对格式化的源数据数组进行内爆时,我在每个值上都使用引号,以便能够立即将它们与 sql INSERT 字符串的其余部分连接起来。我计划在 INSERT 上使用 PDO::ATTR_ORACLE_NULLS 属性将所有空字符串(源数据中的 NULL)转换为 NULL,但现在事实证明这似乎只影响 SELECT 查询的结果,而不是 INSERT 语句。有没有人知道一种优雅而快速的方法来告诉 MySQL 或 PDO 对象将 INSERT 语句中的所有空字符串都视为 NULL?
【问题讨论】: