क्या आपने पूरी क्वेरी समाप्त कर दी है? सीमांकक . सेट करने का प्रयास करें , और इसे END के बाद उपयोग करें ताकि सर्वर को पता चले कि आपने कमांड पूरा कर लिया है।
delimiter //
CREATE PROCEDURE fill_points(
IN size INT(10)
)
BEGIN
DECLARE i DOUBLE(10,1) DEFAULT size;
DECLARE lon FLOAT(7,4);
DECLARE lat FLOAT(6,4);
DECLARE position VARCHAR(100);
-- Deleting all.
DELETE FROM Points;
WHILE i > 0 DO
SET lon = RAND() * 360 - 180;
SET lat = RAND() * 180 - 90;
SET position = CONCAT( 'POINT(', lon, ' ', lat, ')' );
INSERT INTO Points(name, location) VALUES ( CONCAT('name_', i), GeomFromText(position) );
SET i = i - 1;
END WHILE;
END //
delimiter ;
इसके अलावा
जबकि DELETE FROM TABLE
तालिका से सभी डेटा हटा देता है, TRUNCATE table
इतनी तेजी से करता है। जब तक आपके पास DELETE
. का उपयोग करने के अच्छे कारण न हों (वे मौजूद हैं), TRUNCATE
आप जो चाहते हैं वह हो सकता है।