Tôi có một bảng trông như thế này:Kết hợp hai truy vấn để kiểm tra các bản sao trong MySQL?
Number | Name
--------+--------
123 | Robert
Đây là những gì tôi muốn làm:
Nếu Số là đã có trong cơ sở dữ liệu, không chèn một kỷ lục mới.
Nếu số không nằm trong databse, nhưng tên là, tạo tên mới và chèn nó. Vì vậy, ví dụ, nếu tôi có một kỷ lục có chứa 123
cho Number
và Bob
cho Name
, tôi không muốn để chèn nó, nhưng nếu tôi có được một kỷ lục có chứa 456
cho Number
và Robert
cho name
, tôi sẽ chèn 456
và Robert1
. Tôi sẽ kiểm tra các bản sao riêng lẻ như:
SELECT * FROM Person where Number = 123;
//If number is not found
SELECT * FROM Person where Name = 'Robert';
//If name is found, add a number to it.
Có cách nào tôi có thể kết hợp hai câu?
@ J.W. ít nhất hãy cho chúng tôi ** một chút thời gian để suy nghĩ: P, bởi vì câu trả lời của bạn thật tuyệt vời đến mức chúng tôi không thể nghĩ ra bất kỳ câu trả lời nào tốt hơn. Ở giữa cho phép tôi kết nối với bạn ** FB ** :) – Luv
Khi tôi chèn 'Rober' thay vì' Robert', lỗi kết quả truy vấn của bạn: 'Cắt dữ liệu: Cắt ngắn giá trị INTEGER không chính xác: '0t'', trong khi Rober là mới Tên và hợp lệ. – ahoo
phần thứ hai là thực sự tuyệt vời :) +1 – fthiella