này không hoạt động:Làm thế nào để thêm mệnh đề where vào một câu lệnh chèn MySQL?
INSERT INTO users (username, password) VALUES ("Jack","123") WHERE id='1';
Bất kỳ ý tưởng làm thế nào để thu hẹp chèn một hàng cụ thể bằng id?
này không hoạt động:Làm thế nào để thêm mệnh đề where vào một câu lệnh chèn MySQL?
INSERT INTO users (username, password) VALUES ("Jack","123") WHERE id='1';
Bất kỳ ý tưởng làm thế nào để thu hẹp chèn một hàng cụ thể bằng id?
Trong một tuyên bố chèn bạn sẽ không có một hàng hiện có để làm một nơi claues trên? Bạn đang chèn một hàng mới, ý của bạn là làm một bản cập nhật?
update users set username='JACK' and password='123' WHERE id='1';
"bạn sẽ không có một hàng hiện tại để làm một nơi mà claues trên?" Câu trả lời hoàn hảo. –
Tôi muốn thực hiện mệnh đề where ở phần còn lại của bảng. Ví dụ: 'chèn ... trong đó đếm (..) <10'. –
Tôi nghĩ bạn đang tìm kiếm UPDATE và không chèn?
UPDATE `users`
SET `username` = 'Jack', `password` = '123'
WHERE `id` = 1
Hãy thử điều này:
Update users
Set username = 'Jack', password='123'
Where ID = '1'
Hoặc nếu bạn đang thực sự cố gắng để chèn:
Insert Into users (id, username, password) VALUES ('1', 'Jack','123');
INSERT INTO users (id,username, password)
VALUES ('1','Jack','123')
ON DUPLICATE KEY UPDATE username='Jack',password='123'
này sẽ chỉ làm việc nếu trường id
là duy nhất cái/hộp (không composit PK dù) Ngoài ra, việc này sẽ chèn nếu không id
của giá trị 1 được tìm thấy và cập nhật nếu không thì kỷ lục với id
1 nếu nó tồn tại.
Để thêm mệnh đề WHERE trong câu lệnh INSERT đơn giản;
INSERT INTO table_name (column1,column2,column3)
SELECT column1, column2, column3 FROM table_name
WHERE column1 = 'some_value'
er, bạn có thể thêm một số thông tin về những gì đang xảy ra ở đây không? Tại sao chèn cần một WHERE? – Martin
Ai quan tâm * tại sao *? Câu hỏi là * "Làm thế nào để thêm mệnh đề where vào câu lệnh Chèn MySQL?" * –
Một chèn có điều kiện để sử dụng thông thường trong một kịch bản MySQL sẽ là:
insert into t1(col1,col2,col3,...)
select val1,val2,val3,...
from dual
where [conditional predicate];
Bạn cần phải sử dụng bảng giả kép.
Trong ví dụ này, chỉ có chèn-tuyên bố thứ hai sẽ thực sự chèn dữ liệu vào bảng:
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)
Đây phải là câu trả lời được chấp nhận. +1 –
UPDATE users SET username='&username', password='&password' where id='&id'
Truy vấn này sẽ yêu cầu bạn nhập tên người dùng, mật khẩu và id động
Truy vấn này sẽ yêu cầu bạn nhập tên người dùng, mật khẩu và id động –
Đối với hàng trống, cách chúng tôi có thể chèn các giá trị vào mệnh đề đó
Hãy thử điều này
UPDATE table_name SET username="",password="" WHERE id =""
Bị bỏ qua. Khi nó đứng, tiêu đề là sai, hoặc câu trả lời được chấp nhận. Dù sao, Google dẫn tôi đến đây để * chèn *, nhưng câu trả lời được chấp nhận là về * cập nhật *. –