У меня есть таблица MySQL (участников) с шестью колонками (FirstName, LastName, электронная почта, имя пользователя, пароль, ключ)INSERT INTO MySQL и PHP
Мне нужно вставить строку в Key колонку для имя пользователяадмин
Как бы я идти об этом?
У меня есть таблица MySQL (участников) с шестью колонками (FirstName, LastName, электронная почта, имя пользователя, пароль, ключ)INSERT INTO MySQL и PHP
Мне нужно вставить строку в Key колонку для имя пользователяадмин
Как бы я идти об этом?
Предположим, строка, которую вы хотите вставить это символьная строка 'MyString'
. Вы можете обновить таблицу, как это:
UPDATE `members` SET `Key` = 'MyString' WHERE `username` = 'admin'
Некоторые вещи, чтобы отметить:
Key
, в идентификатор цитирует (кавычки). Это связано главным образом с тем, что я знаю, что MySQL может рассматривать слово «ключ» как зарезервированное слово SQL, что может привести к тому, что он не сможет проанализировать мой запрос UPDATE.Key
имеет строковый тип данных, такой как TEXT
или CHAR(20)
. Если это не так (например, если это INT
), тогда нет смысла пытаться обновить его, чтобы содержать строку.CHAR
или VARCHAR
, достаточно длинна, чтобы содержать эту строку (т. Е. Длиной не менее 8). Если столбец слишком короткий, чтобы содержать строку, которую я пытаюсь вставить в нее, то MySQL будет либо обрезать строку, либо выпустить сообщение об ошибке, в зависимости от режима SQL.В качестве альтернативы, если нет строки в таблице, для которой username
является «администратора», но вы хотите, чтобы вставить один, вы используете
INSERT INTO `members` (`username`, `key`) VALUES ('admin', 'MyString')
Это утверждение подчиняется тем же оговорками как выше. Кроме того, для любых столбцов, которые являются NOT NULL
, также должны быть указаны значения (за исключением, возможно, целочисленного поля с автоматическим приращением).
Я использовал этот код, но он ничего не делает. Он даже не отображает ошибку. –
Пожалуйста, опубликуйте вывод 'SHOW CREATE TABLE members'. – Hammerite
Прошу прощения. Я наконец-то понял. Спасибо за помощь! Я отправляю другую. У меня есть код PHP, который, похоже, не работает. Хотите попробовать и помочь? :-) Еще раз спасибо. –
UPDATE members
SET `Key`='<SOMETHING>'
WHERE username='admin'
LIMIT 1
Вы должны иметь первичный ключ, как member_id
(обычно INT
с auto_increment
). Тогда вы можете сделать:
UPDATE members
SET `Key`='<SOMETHING>'
WHERE member_id=<X>
+50000 для постоянного ввода первичного ключа auto_incrment. Если вам нужна другая функция столбца, аналогично первичному ключу, используйте уникальный индекс. также вы можете избегать использования имени столбца 'key', поскольку оно используется mysql в качестве ключевого слова. вместо этого используйте 'member_key' или что-то подобное. – prodigitalson
Если вы не знаете, существует ли или нет, что пользователь использовать дублирование ... http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html
Настроен ли ваш DB схема, чтобы принять строки в ключевом столбце? –