KREALABO

Référence circulaire avec sqlite

Détails
Écrit par : Super User
Catégorie : SQL
Publication : 9 novembre 2023
Affichages : 673

Pour remplacer la commande SQL permettant de créer une référence circulaire :

ALTER TABLE Caserne
ADD FOREIGN KEY(nomRue, numRue, nomVille, cp) REFERENCES Adresse(nomRue, numRue, nomVille, cp);

on peut utiliser le code :

pragma writable_schema=1;
UPDATE SQLITE_MASTER set sql = replace(sql, 'cp    INTEGER)','cp    INTEGER, foreign key (nomRue, numRue, nomVille, cp) Adresse(nomRue, numRue, nomVille, cp))') where name = 'Caserne' and type = 'table';
pragma writable_schema=0;

cp    INTEGER est la dernière colonne de la table Caserne

 

Réinitialisation du mot de passe mysql Ver 8.0.27

Détails
Écrit par : Super User
Catégorie : SQL
Publication : 28 septembre 2018
Affichages : 3513

Arrêter le service Mysql : sudo service mysql stop

Démarrer le service Mysql sans mot de passe : sudo mysqld_safe --skip-grant-tables &

Se connecter à l'aide du client : mysql -u root

Choisir la table de travail : USE mysql;

Supprimer le mot de passe de root : UPDATE mysql.user SET authentication_string=null WHERE User='root';

Enregistrer la modification : FLUSH PRIVILEGES;

Quitter Mysql : EXIT;

Redémarrer le service Mysql : sudo service mysql restart

Se connecter de nouveau sans mot de passe : mysql -u root

La fonction PASSWORD ayant été retirée dans la version 8, et phpMyAdmin ne supportant pas l'algorythme de cryptage SHA, utiliser la commande :

ALTER USER root@'%' IDENTIFIED WITH mysql_native_password BY 'nouveau_mot_de_passe';

Le mot de passe est modifié.

Nota pour utiliser le cryptage sha2, il faut remplacer mysql_native_password par caching_sha2_password