簡體   English   中英

使用 Where 子句插入

[英]Insert using Where clause

我在使用where子句插入數據時遇到問題。 這是查詢:

    $hi= "INSERT INTO user_detail (email, looking, username, profession, experience,
         current_work, state, job_type, about, college, diploma, department)
             VALUES ('$email', '$looking', '$username', '$profession','$experience',
     '$current_work', '$state', '$job_type', '$about', '$college', '$diploma', '$department')
 WHERE s='$username'";

它向我展示了錯誤:

您的 SQL 語法有錯誤; 檢查與您的 MySQL 服務器版本相對應的手冊,了解在第 1 行的“WHERE s='aniket276'”附近使用的正確語法

使用 MySQL 更新

像那樣:-

UPDATE user_detail SET email='$email' WHERE s='$username';

如果您想更改使用 WHERE 子句選擇的記錄中字段的值,您應該使用 UPDATE

insert 內的WHERE子句沒有任何意義。

如果要向數據庫中添加新行,則不需要WHERE子句,因為沒有可以引用的現有行。

如果要更新現有行,則不應使用INSERT語句,而應使用UPDATE語句。

插入沒有 WHERE 子句。

如果您只想為特定用戶名插入一行,那么最好在調用 php 腳本中執行此操作。

如果要修改特定用戶名的現有行,則可以使用更新語句:-

UPDATE user_detail
SET email = '$email', 
    looking = '$looking', 
    username = '$username', 
    profession = '$profession', 
    experience = '$experience', 
    current_work = '$current_work', 
    state = '$state', 
    job_type = '$job_type', 
    about = '$about', 
    college = '$college', 
    diploma = '$diploma', 
    department = '$department'
WHERE s = '$username'

如果你想在不存在的情況下插入一行,但如果它存在就更新它,那么你可以執行 INSERT / ON DUPLICATE KEY UPDATE(假設用戶名的s列有一個唯一的索引):-

INSERT INTO user_detail (s,
                        email, 
                        looking, 
                        username, 
                        profession, 
                        experience, 
                        current_work, 
                        state, 
                        job_type, 
                        about, 
                        college, 
                        diploma, 
                        department) 
VALUES ('$username',
        '$email', 
        '$looking', 
        '$username', 
        '$profession', 
        '$experience', 
        '$current_work', 
        '$state', 
        '$job_type', 
        '$about', 
        '$college', 
        '$diploma', 
        '$department') 
ON DUPLICATE KEY UPDATE email = VALUES(email), 
                        looking = VALUES(looking), 
                        username = VALUES(username), 
                        profession = VALUES(profession), 
                        experience = VALUES(experience), 
                        current_work = VALUES(current_work), 
                        state = VALUES(state), 
                        job_type = VALUES(job_type), 
                        about = VALUES(about), 
                        college = VALUES(college), 
                        diploma = VALUES(diploma), 
                        department = VALUES(department)

要插入新記錄,請不要使用 WHERE。 當您想要引用特定記錄時,您在 WHERE。 為此,您可以使用 MySQL 更新。

UPDATE table_name
SET column1=value, column2=value2,...
WHERE some_column=some_value 

http://www.w3schools.com/php/php_mysql_update.asp

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM