PHP mySQL UPDATE SET LIKE%value

时间:2010-01-07 00:37:18

标签: php mysql

是否有逻辑(和可能)的方法来做这样的事情?

UPDATE $table SET LIKE %_checkbox = '' WHERE id='$id'

我有像allowed_checkbox和types_checkbox这样的字段,它们会动态发送到数据库脚本。引用列名时可以使用通配符吗?

2 个答案:

答案 0 :(得分:2)

你有一点弗兰肯斯坦的语法。在编译SQL之前,服务器需要知道表名和列名 - 所以你不能直接做你想做的事。

您的PHP代码是否没有数据库架构的先验知识?

您使用的关键词是动态 - 您可以使用针对MySQL INFORMATION_SCHEMA.COLUMNS表的查询找到匹配的列名。您可以按升级执行此操作,这可能很昂贵,或者在应用程序启动时提取您需要的所有表的架构。

答案 1 :(得分:1)

没有。您必须生成SQL字符串,然后单独执行它。如果你正在尝试做这样的事情,那么你可能会遇到一个糟糕的架构设计。