0

php中最好的方法是什么,或者一些逻辑......转换这个表模板

$tmpl ="创建表`wpsc_claimed_stock` (
  `product_id` bigint(20) unsigned NOT NULL DEFAULT '0',
  `variation_stock_id` bigint(20) unsigned NOT NULL DEFAULT '0',
  `stock_claimed` 浮动非空,
  `last_activity` 日期时间不为空,
  `cart_id` varchar(255) NOT NULL DEFAULT '0',
  `cart_submitted` varchar(1) NOT NULL DEFAULT '0',
  唯一键`unique_key`(`product_id`,`variation_stock_id`,`cart_id`),
  KEY `last_activity` (`last_activity`),
  KEY `cart_submitted` (`cart_submitted`)
)";

变成这种格式:注意:这个snipplet取自wp-ecommerce(wordpress插件)

$table_name = 'wpsc_claimed_stock'; /* !wpsc_claimed_stock */
$wpsc_database_template[$table_name]['columns']['product_id'] = "bigint(20) UNSIGNED NOT NULL DEFAULT '0'";
$wpsc_database_template[$table_name]['columns']['variation_stock_id'] = "bigint(20) UNSIGNED NOT NULL DEFAULT '0'";
$wpsc_database_template[$table_name]['columns']['stock_claimed'] = "FLOAT NOT NULL";
$wpsc_database_template[$table_name]['columns']['last_activity'] = "DATETIME NOT NULL";
$wpsc_database_template[$table_name]['columns']['cart_id'] = "VARCHAR(255) NOT NULL DEFAULT '0'";
$wpsc_database_template[$table_name]['columns']['cart_submitted'] = "VARCHAR(1) NOT NULL DEFAULT '0'";
$wpsc_database_template[$table_name]['indexes']['unique_key'] = "唯一键 `unique_key` (`product_id`,`variation_stock_id`,`cart_id`)";
$wpsc_database_template[$table_name]['indexes']['last_activity'] = "KEY `last_activity` ( `last_activity` )";
$wpsc_database_template[$table_name]['indexes']['cart_submitted'] = "KEY `cart_submitted` (`cart_submitted`)";

4

1 回答 1

0

我认为最好的方法(也许是唯一的方法)是简单地编写一个自定义解析器。我真的看不出有任何其他方法可以解决它。

于 2012-09-06T04:06:14.820 回答