我可以从数组创建mysql视图列吗?

时间:2014-03-05 05:48:32

标签: php mysql

数组是json_encoded并存储在另一个表中。现在我想用MERGE类型创建一个mysql View,并将json_decode数组编入View的列。这可能吗?如果是,怎么样?

1 个答案:

答案 0 :(得分:1)

如果你打算不在数据库中做那些东西而只是使用PHP,那将很容易。您只需选择编码数组,对其进行解码,将其解析为列(或任何有效的SQL),将其存储在字符串中并执行此SQL字符串,而不是您想要的。

$sql_array = 'select json_array from tbl';
//use mysql-query/fetch/execute whatever to get your data
//use json_encode to get your PHP $columns = array()
$columns = json_encode(...);

$sql_cols = 'select null';
//iterate through your PHP array()
foreach($columns as $column) {
  //make the row-value to columns
  $sql_cols .= ', '.$column;
}
$sql_cols .= ' from tbl';
//use mysql-query/fetch/execute whatever to get your data

这应该这样做。