+
81
-

sqlite如何查询某个表的所有字段?

请问sqlite如何查询某个表的所有字段?在php中如何编写?


网友回复

+
2
-

sqlite不支持直接输出表结构的sql,但是我们可以变通一下,将这个表的创建sql输出,然后再进行字符拆分。

1、获取这个表的create table sql语句

SELECT sql FROM sqlite_master
WHERE tbl_name = '表名' AND type = 'table'

2、获取的sql语句如下

+
1
-

3、获取的数据进行字符转换

<?php
$kommando = "CREATE TABLE service ( id INTEGER PRIMARY KEY, dom TEXT, cont TEXT, act TEXT, providerip TEXT, serviceurl TEXT, regtime TEXT, lang TEXT, seckey TEXT, weight INTEGER, reportnum INTEGER)";
$cut = strtok($kommando, "(");

while ($fieldnames[] = strtok(",")) {};

array_pop($fieldnames);
$_fieldinfo = [];
foreach ($fieldnames as $no => $field) {
    $_f = explode(" ", trim($field));
    $_fieldinfo[] = ['name' => $_f[0],
        "type" => $_f[1]];
    //$fieldnames[$no] = strtok($field, " ");
    if (strpos($field, "PRIMARY KEY")) {
        echo "主键".strtok($field, " ");

    }
}

print_r($_fieldinfo);
?>

我知道答案,我要回答