这不起作用:
INSERT INTO users (username, password) VALUES ("Jack","123") WHERE id='1';
任何想法如何通过 id 缩小对特定行的插入范围?
这不起作用:
INSERT INTO users (username, password) VALUES ("Jack","123") WHERE id='1';
任何想法如何通过 id 缩小对特定行的插入范围?
在插入语句中,您不会有一个现有的行来执行 where 子句吗?您正在插入一个新行,您的意思是要执行更新语句吗?
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)此外,如果没有id
找到值 1,这将插入,否则id
如果记录确实存在,则使用 1 更新记录。
UPDATE users SET username='&username', password='&password' where id='&id'
此查询将要求您动态输入用户名、密码和 ID
对于空行,我们如何在 where 子句中插入值
试试这个
UPDATE table_name SET username="",password="" WHERE id =""