【发布时间】:2012-05-22 22:45:18
【问题描述】:
我在一个数组中接收到一些数据,这些数据将存储在一个 mysql 表中。表字段名称与数组中键/值对中的key相同,但是我事先不知道会到达哪些键/值对
// First execution
$array1 = array('a'=> 'str1', 'b'=> 'str2', 'c'=> 'str3', 'd'=> 'str4');
// second execution
$array2 = array('a'=> 'str6', 'c'=> 'str7', 'e'=> 'str5');
// third execution
$array3 = array('b'=> 'str8', 'd'=> 'str9', 'e'=> 'str10');
所以上面指出了数据可以到达的方式。下面是db表结构的例子
column 1 name = id (auto increment)
column 2 name = 'a'
column 3 name = 'b'
column 4 name = 'c'
column 5 name = 'd'
column 6 name = 'e'
column 7 name = 'f'
请注意,可能会有一些意外数据,但如果该意外值的 db 字段(列)不存在,则应跳过该数据。我基本上只需要在存在列的位置插入数据,并且该列的任何不存在的值都应该为空。我希望这对某人有意义。
如何在php中构造SQL?
【问题讨论】:
-
理论上你可以在进行任何插入之前 DESCRIBE TABLE,但我真的建议不要这样做,因为如果你要与很多交互,你真的会损害性能表。你可能最好实现一组知道底层表是如何布局的类