Tôi có một MySQLvariablethực hiện truy vấn mysql trong biến
@query = CONCAT('INSERT INTO history VALUES (',1,',',50,',UTC_TIMESTAMP()');
Tôi muốn thực hiện báo cáo kết quả chèn mặt trong biến.
Tôi có một MySQLvariablethực hiện truy vấn mysql trong biến
@query = CONCAT('INSERT INTO history VALUES (',1,',',50,',UTC_TIMESTAMP()');
Tôi muốn thực hiện báo cáo kết quả chèn mặt trong biến.
Trước tiên, bạn phải chuẩn bị báo cáo kết quả sử dụng PREPARE
và sau đó sử dụng EXECUTE
Xem ở đây: http://dev.mysql.com/doc/refman/5.0/en/sql-syntax-prepared-statements.html
Cái gì như:
SET @query = CONCAT("INSERT INTO history VALUES (",1,",",50,",UTC_TIMESTAMP()");
PREPARE stmt1 FROM @query;
EXECUTE stmt1;
DEALLOCATE PREPARE stmt1;
Tôi gặp lỗi này # 1064 - Bạn có lỗi trong cú pháp SQL; kiểm tra hướng dẫn tương ứng với phiên bản máy chủ MySQL của bạn cho cú pháp đúng để sử dụng gần 'EXECUTE stmt_name' tại dòng 2 – Avinash
Thử chỉnh sửa của tôi, sẽ không sao. – mattytommo
Cảm ơn @mattytommo. – Avinash
Set @query = CONCAT("INSERT INTO history VALUES (",1,",",50,",UTC_TIMESTAMP()");
và sau đó
PREPARE stmt_name FROM @query
và cuối cùng
EXECUTE stmt_name
loại bỏ các CONCAT(), nó không phải làm bất cứ điều gì ngoại trừ phát sinh lỗi vì nó đang cố gắng nối một chuỗi với không có gì khác.
Nó thực sự là concatenting 5 yếu tố, nó sẽ không được bất kỳ lỗi => câu trả lời của bạn là xấu -> không trả lời đã trả lời câu hỏi - nhìn vào phần 'mới' và hiển thị các kỹ năng của bạn :) – Toumash
câu trả lời phi logic. –
hãy thử tuyên bố chuẩn bị –
Vui lòng cho tôi ví dụ – Avinash
xem câu trả lời của tôi, tôi nghĩ rằng nó sẽ hoạt động –