Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从mysql到sqlite的转换_Mysql_Sqlite - Fatal编程技术网

从mysql到sqlite的转换

从mysql到sqlite的转换,mysql,sqlite,Mysql,Sqlite,我正在尝试将MySql数据库转换为Sqlite,但我面临主键唯一约束的问题,以下是我的MySql表代码: CREATE TABLE `table01` ( `idtable1` INT(11) NOT NULL DEFAULT 0, `nom1` VARCHAR(50) NULL DEFAULT NULL, PRIMARY KEY (`idtable1` ASC), UNIQUE KEY `idtable1` (`idtable1` ASC) ) DEFAULT CHARSET

我正在尝试将MySql数据库转换为Sqlite,但我面临主键唯一约束的问题,以下是我的MySql表代码:

 CREATE TABLE `table01` (
  `idtable1` INT(11) NOT NULL DEFAULT 0,
  `nom1` VARCHAR(50) NULL DEFAULT NULL,
  PRIMARY KEY (`idtable1` ASC),
  UNIQUE KEY `idtable1` (`idtable1` ASC)
) DEFAULT CHARSET=utf8 ENGINE=InnoDB;
当我使用DBconvert for SQLite&MySql转换它时,我得到的是:

CREATE TABLE table01 (
  idtable1  int PRIMARY KEY NOT NULL DEFAULT 0,
  nom1      varchar(50) DEFAULT NULL
);

CREATE UNIQUE INDEX idtable1
  ON table01
  (idtable1);

因此,当我阅读数据库“使用SQLite Maestro”时,SQLite Maestro无法识别主键的唯一约束

可能的原因可能是SQLite的奇怪怪癖:当涉及主键时,它对确切的措辞非常敏感:

只有在以下情况下,主键列才会成为整数主键: 声明的类型名正好是“整数”。其他整数类型名称,如 “INT”或“BIGINT”或“SHORT INTEGER”或“UNSIGNED INTEGER”会导致 主键列的行为类似于带整数的普通表列 关联和唯一索引,而不是作为rowid的别名