簡體   English   中英

如何在MySQL Insert語句中添加where子句?

[英]How to add a where clause in a MySQL Insert statement?

這不起作用:

INSERT INTO users (username, password) VALUES ("Jack","123") WHERE id='1';

任何想法如何通過id將插入范圍縮小到特定行?

在插入語句中,您將沒有現有行來執行操作? 您要插入新行,是否意味着要執行更新語句?

update users set username='JACK' and password='123' WHERE id='1';

通常在MySQL腳本中使用的條件插入為:

insert into t1(col1,col2,col3,...)
select val1,val2,val3,...
  from dual
 where [conditional predicate];

您需要使用雙重虛擬表。

在此示例中,僅第二個插入語句將實際將數據插入表中:

create table t1(col1 int);
insert into t1(col1) select 1 from dual where 1=0;
insert into t1(col1) select 2 from dual where 1=1;
select * from t1;
+------+
| col1 |
+------+
|    2 |
+------+
1 row in set (0.00 sec)

只需在INSERT語句內添加WHERE子句;

INSERT INTO table_name (column1,column2,column3)
SELECT column1, column2, column3 FROM  table_name
WHERE column1 = 'some_value'

嘗試這個:

Update users
Set username = 'Jack', password='123'
Where ID = '1'

或者,如果您實際上是在嘗試插入:

Insert Into users (id, username, password) VALUES ('1', 'Jack','123');

我認為您正在尋找UPDATE而不是插入?

UPDATE `users`
SET `username` = 'Jack', `password` = '123'
WHERE `id` = 1
INSERT INTO users (id,username, password) 
VALUES ('1','Jack','123')
ON DUPLICATE KEY UPDATE username='Jack',password='123'

僅當id字段為唯一/ pk(盡管不是復合PK)時,此方法才有效。此外,如果未找到值為1的id ,則將插入該字段;如果存在,則更新id 1的記錄。

UPDATE users SET username='&username', password='&password' where id='&id'

該查詢將要求您動態輸入用戶名,密碼和ID

對於空行,我們如何在where子句中插入值

嘗試這個

UPDATE table_name SET username="",password="" WHERE id =""

暫無
暫無

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

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