par
Louisss » 05 août 2008, 13:07
Hep hep, qui parle de clef primaire composite ? Ce n'est pas le problème que j'évoque (d'ailleurs, j'ai cru comprendre que SQLite ne permet pas les clefs primaires composées de plusieurs champs). Non, moi mon problème c'est juste de pouvoir changer la clef primaire d'une table : prendre un champ à la place d'un autre pour tenir ce rôle.
Donc, ce serait bien un bug d'après toi zeus ? Mais je suis vraiment très étonné que mon SQLiteManager soit buggé, car comme PHPMyAdmin, c'est une simple distribution d'un site Web que j'ouvre en local avec mon serveur Apache perso. Je serais très intéressé que quelqu'un puisse tester pour savoir si c'est un bug présent de façon générale dans SQLiteManager et qui sera (est ?) peut-être corrigé dans une nouvelle version, ou bien si c'est moi qui ai un problème non général. Pour info, j'utilise MAMP pour mes développements en PHP et c'est donc lui qui me fournit SQLiteManager en version 1.2.
De mon côté, j'ai essayé d'exécuter directement la requête de création de table dans une page PHP plutôt que dans SQLiteManager. Résultats :
Code : Tout sélectionner
CREATE TABLE test (Premier TINYINT, Second VARCHAR(50) PRIMARY KEY, Troisieme VARCHAR(50), Quatrieme DATE);
Cette requête me colle la clef primaire sur le champ "Premier".
Code : Tout sélectionner
CREATE TABLE test (Second VARCHAR(50) PRIMARY KEY, Premier TINYINT, Troisieme VARCHAR(50), Quatrieme DATE);
Cette requête me colle la clef primaire sur le champ "Second".
Donc, le problème ne vient visiblement pas de SQLiteManager, mais de l'interprétation de ma requête par SQLite lui-même.
Ma base est en version 2, et SQLite en version 2.8.17.
Il existe peut-être une version plus récente ?
Autre détail intéressant : j'ai fait un test sur un SQLiteManager mis à disposition en ligne à l'adresse :
http://synd-mixte.rain.fr/sqlitemanager/
C'est exactement la même version que moi.
J'ai essayé de créer une table avec le troisième champ comme clef primaire : même résultat c'est le premier champ qui est retenu comme clef primaire. Le problème ne vient donc visiblement pas de chez moi, mais on dirait plutôt que c'est un bug de cette version de SQLite.
Alors si quelqu'un peut me dire où trouver une version plus récente qui corrige ce bug, ce serait génial, même si on est bien d'accord que ça n'a rien de fondamental.
Hep hep, qui parle de clef primaire composite ? Ce n'est pas le problème que j'évoque (d'ailleurs, j'ai cru comprendre que SQLite ne permet pas les clefs primaires composées de plusieurs champs). Non, moi mon problème c'est juste de pouvoir changer la clef primaire d'une table : prendre un champ à la place d'un autre pour tenir ce rôle.
Donc, ce serait bien un bug d'après toi zeus ? Mais je suis vraiment très étonné que mon SQLiteManager soit buggé, car comme PHPMyAdmin, c'est une simple distribution d'un site Web que j'ouvre en local avec mon serveur Apache perso. Je serais très intéressé que quelqu'un puisse tester pour savoir si c'est un bug présent de façon générale dans SQLiteManager et qui sera (est ?) peut-être corrigé dans une nouvelle version, ou bien si c'est moi qui ai un problème non général. Pour info, j'utilise MAMP pour mes développements en PHP et c'est donc lui qui me fournit SQLiteManager en version 1.2.
De mon côté, j'ai essayé d'exécuter directement la requête de création de table dans une page PHP plutôt que dans SQLiteManager. Résultats :
[code]CREATE TABLE test (Premier TINYINT, Second VARCHAR(50) PRIMARY KEY, Troisieme VARCHAR(50), Quatrieme DATE);[/code]
Cette requête me colle la clef primaire sur le champ "Premier".
[code]CREATE TABLE test (Second VARCHAR(50) PRIMARY KEY, Premier TINYINT, Troisieme VARCHAR(50), Quatrieme DATE);[/code]
Cette requête me colle la clef primaire sur le champ "Second".
Donc, le problème ne vient visiblement pas de SQLiteManager, mais de l'interprétation de ma requête par SQLite lui-même.
Ma base est en version 2, et SQLite en version 2.8.17.
Il existe peut-être une version plus récente ?
Autre détail intéressant : j'ai fait un test sur un SQLiteManager mis à disposition en ligne à l'adresse : http://synd-mixte.rain.fr/sqlitemanager/
C'est exactement la même version que moi.
J'ai essayé de créer une table avec le troisième champ comme clef primaire : même résultat c'est le premier champ qui est retenu comme clef primaire. Le problème ne vient donc visiblement pas de chez moi, mais on dirait plutôt que c'est un bug de cette version de SQLite.
Alors si quelqu'un peut me dire où trouver une version plus récente qui corrige ce bug, ce serait génial, même si on est bien d'accord que ça n'a rien de fondamental.