<h3>系统</h3>
<ul>
<li>Python 2.7</li>
<li>SQLite3</li>
</ul>
<h3>代码</h3>
<p>我想通过从_贝克数据库被使用的数据库。在</p>
<pre><code>conn = sqlite3.connect(os.path.join("data", "db", "Kanji-story.db"))
c = conn.cursor()
c.execute("DROP TABLE IF EXISTS current")
c.execute("ATTACH DATABASE ? AS db2", (os.path.join('data', 'db', 'Kanji-story_bak.db'),))
# TODO Code for Creating table with the same structure
c.execute("INSERT INTO main.current SELECT * FROM db2.current")
</code></pre>
<h3>问题</h3>
<p>为了执行最后一条语句,我首先要用汉字创建一个表-故事数据库和汉字故事一样的结构_贝克数据库(请参阅“TODO”。如何使用相同的结构创建</strong>表</strong>?我知道SQLite3中有一个<strong>.schema</strong>命令,但如何有效地使用该命令来创建新表?在</p>
<p>SQLite没有执行间接命令的机制。在</p>
<p>要获得原始表定义,您已经运行了<code>.schema</code>内部使用的相同查询:</p>
<pre class="lang-sql prettyprint-override"><code>SELECT sql FROM db2.sqlite_master WHERE type='table' AND name='current'
</code></pre>