J'ai une table MySQL (membres) avec six colonnes (FirstName, LastName, E-mail, nom d'utilisateur, mot de passe, clés)INSERT INTO MySQL et PHP
je dois insérer une chaîne dans la Key colonne pour la nom d'utilisateuradmin
Comment dois-je prendre?
J'ai une table MySQL (membres) avec six colonnes (FirstName, LastName, E-mail, nom d'utilisateur, mot de passe, clés)INSERT INTO MySQL et PHP
je dois insérer une chaîne dans la Key colonne pour la nom d'utilisateuradmin
Comment dois-je prendre?
Supposons la chaîne que vous souhaitez insérer est la chaîne littérale 'MyString'
. Vous pouvez mettre à jour la table comme ceci:
UPDATE `members` SET `Key` = 'MyString' WHERE `username` = 'admin'
Quelques choses à noter:
Key
, en identifiant cite (accents graves). C'est principalement parce que je sais que MySQL peut traiter le mot 'clé' comme un mot réservé SQL, ce qui pourrait l'empêcher d'analyser ma requête UPDATE.Key
a un type de données string, tel que TEXT
ou CHAR(20)
. Si ce n'est pas le cas (par exemple s'il s'agit d'un INT
), cela n'a aucun sens d'essayer de le mettre à jour pour contenir une chaîne. Je suppose également que la longueur de la colonne, si elle est CHAR
ou VARCHAR
, est suffisamment longue pour contenir cette chaîne (c'est-à-dire d'une longueur d'au moins 8). Si la colonne est trop courte pour contenir la chaîne que j'essaie de mettre, alors MySQL tronquera la chaîne ou émettra un message d'erreur, selon le mode SQL.Sinon, s'il n'y a pas une ligne dans la table pour laquelle username
est « admin », mais vous voulez insérer un, vous utilisez
INSERT INTO `members` (`username`, `key`) VALUES ('admin', 'MyString')
Cette déclaration est soumise aux mêmes dispositions comme ci-dessus. De plus, toutes les colonnes NOT NULL
devront également avoir des valeurs spécifiées (à l'exception possible d'un champ d'entier auto-incrémenté).
J'ai utilisé ce code, mais il ne fait rien. Il n'affiche même pas d'erreur. –
Veuillez publier la sortie de 'SHOW CREATE TABLE members'. – Hammerite
Je suis désolé. J'ai finalement compris. Merci de votre aide! Je poste un autre maintenant. J'ai du code PHP qui ne semble pas fonctionner. Voulez-vous essayer et aider? :-) Merci encore. –
UPDATE members
SET `Key`='<SOMETHING>'
WHERE username='admin'
LIMIT 1
Vous devriez avoir une clé primaire, comme member_id
(généralement un INT
avec auto_increment
). Ensuite, vous pouvez faire:
UPDATE members
SET `Key`='<SOMETHING>'
WHERE member_id=<X>
+50000 pour avoir toujours une clé primaire auto_incrment numérique. Si vous avez besoin d'une autre fonction de colonne d'une manière similaire à une clé primaire, utilisez un index unique. vous pouvez aussi ne pas utiliser le nom de la colonne 'key' car il est utilisé par mysql en tant que mot-clé. utilisez 'member_key' ou quelque chose comme ça à la place. – prodigitalson
Si vous ne savez pas si cet utilisateur existe utiliser Duplicate ... http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html
Est-ce votre schéma de base de données mis en place pour accepter des chaînes dans la colonne de clé? –