sql - 将表结构复制到sqlite3中的新表

标签 sql database sqlite copy

有没有一种简单的方法可以将现有表结构复制到新表结构? (不需要数据,只需要结构 -> 比如 id INTEGER,name varchar(20) ...)

谢谢

最佳答案

你可以使用这样的命令:

CREATE TABLE copied AS SELECT * FROM mytable WHERE 0

但是由于 SQLite 的动态类型,大多数类型信息都会丢失。

如果您只需要一个表现与原始表相同的表,即具有相同的列数和名称,并且可以存储相同的值,这就足够了。

如果你真的需要和原来一样的类型信息,你可以从sqlite_master表中读取原始的SQL CREATE TABLE语句,像这样:

SELECT sql FROM sqlite_master WHERE type='table' AND name='mytable'

关于sql - 将表结构复制到sqlite3中的新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12730390/

相关文章:

c# - Windows 10 Slite不起作用

sql - 仅当特定用户更新行时触发 SQL 触发器

sql - 这个查询怎么会违反主键呢?

PHP 表单似乎并不总是写入数据库

java - 数据访问对象 (DAO) 是否应该委托(delegate)给其他 DAO 以提高可读性?

php - 如何存储稳定的文本?类似文本或类似整数,每个文本特定

c# - 如何对 SQLite 数据库进行 LINQ 查询?

sqlite - 如何使用 FieldDefs 在运行时创建新的 SQLite 文件和表?

mysql - 如何首先按 id 获取特定行,然后按特定列按字母顺序对其余行进行排序

php - 如何sql更新两个条件