ਮਾਰੀਆਡੀਬੀ ਸਕ੍ਰਿਪਟ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਵਿੱਚ ਗਲਤੀ 1064 (42000) ਨੂੰ ਹੱਲ ਕਰਨਾ

ਮਾਰੀਆਡੀਬੀ ਸਕ੍ਰਿਪਟ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਵਿੱਚ ਗਲਤੀ 1064 (42000) ਨੂੰ ਹੱਲ ਕਰਨਾ
ਮਾਰੀਆਡੀਬੀ ਸਕ੍ਰਿਪਟ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਵਿੱਚ ਗਲਤੀ 1064 (42000) ਨੂੰ ਹੱਲ ਕਰਨਾ

XAMPP ਵਿੱਚ MySQL ਸਿੰਟੈਕਸ ਗਲਤੀਆਂ ਨੂੰ ਸਮਝਣਾ: ਇੱਕ ਸਮੱਸਿਆ ਨਿਵਾਰਕ ਗਾਈਡ

ਕਿਸੇ SQL ਗਲਤੀ ਦਾ ਸਾਹਮਣਾ ਕਰਨਾ ਨਿਰਾਸ਼ਾਜਨਕ ਹੋ ਸਕਦਾ ਹੈ, ਖਾਸ ਤੌਰ 'ਤੇ ਜਦੋਂ ਇਹ ERROR 1064 (42000) ਦੇ ਰੂਪ ਵਿੱਚ ਗੁਪਤ ਹੋਵੇ। 😓 ਇਹ ਖਾਸ ਸਿੰਟੈਕਸ ਗਲਤੀ ਅਕਸਰ ਵਿੱਚ ਦਿਖਾਈ ਦਿੰਦੀ ਹੈ MySQL ਜਾਂ ਮਾਰੀਆਡੀਬੀ ਜਦੋਂ ਸਕ੍ਰਿਪਟਾਂ ਚੱਲ ਰਹੀਆਂ ਹਨ ਅਤੇ ਇਸਦੇ ਟਰੈਕਾਂ ਵਿੱਚ ਡੇਟਾਬੇਸ ਵਿਕਾਸ ਨੂੰ ਰੋਕ ਸਕਦਾ ਹੈ।

XAMPP ਦੇ ਨਾਲ ਇੱਕ MySQL ਜਾਂ MariaDB ਵਾਤਾਵਰਣ ਚਲਾਉਣ ਵਾਲੇ ਕਿਸੇ ਵੀ ਵਿਅਕਤੀ ਲਈ, ਜਿਵੇਂ ਕਿ ਇਸ ਕੇਸ ਵਿੱਚ, ਇੱਕ ਛੋਟਾ ਸਿੰਟੈਕਸ ਮਿਸਸਟੈਪ 1064 ਗਲਤੀ ਨੂੰ ਟਰਿੱਗਰ ਕਰ ਸਕਦਾ ਹੈ, ਆਮ ਤੌਰ 'ਤੇ ਤੁਹਾਡੇ SQL ਸਟੇਟਮੈਂਟ ਬਣਤਰ ਵਿੱਚ ਇੱਕ ਸਮੱਸਿਆ ਜਾਂ ਸੰਸਕਰਣ ਬੇਮੇਲ ਹੋਣ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦਾ ਹੈ।

ਜੇਕਰ ਤੁਹਾਨੂੰ "ਫਾਈਲ ਵਿੱਚ ਲਾਈਨ 9 'ਤੇ ERROR 1064 (42000)" ਵਰਗੀ ਕੋਈ ਤਰੁੱਟੀ ਆਈ ਹੈ, ਤਾਂ ਇਹ ਸਮੱਸਿਆ ਕਿਸੇ ਵਿਦੇਸ਼ੀ ਕੁੰਜੀ ਜਾਂ ਕਿਸੇ ਹੋਰ ਕੁੰਜੀ ਡਾਟਾਬੇਸ ਢਾਂਚੇ ਦਾ ਹਵਾਲਾ ਦੇਣ ਵਾਲੀ ਲਾਈਨ ਵਿੱਚ ਹੋ ਸਕਦੀ ਹੈ। ਇਸ ਗਾਈਡ ਵਿੱਚ, ਅਸੀਂ ਦੇਖਾਂਗੇ ਕਿ ਅਜਿਹਾ ਕਿਉਂ ਹੁੰਦਾ ਹੈ ਅਤੇ ਇਸਨੂੰ ਜਲਦੀ ਕਿਵੇਂ ਹੱਲ ਕਰਨਾ ਹੈ।

ਇਹ ਸਮੱਸਿਆ-ਨਿਪਟਾਰਾ ਯਾਤਰਾ ਤੁਹਾਨੂੰ ਤੁਹਾਡੇ SQL ਵਿੱਚ ਸਿੰਟੈਕਸ ਗਲਤੀ ਦੇ ਸਰੋਤ ਦੀ ਪਛਾਣ ਕਰਨ, ਮਾਰੀਆਡੀਬੀ ਨਾਲ ਅਨੁਕੂਲਤਾ ਦੀ ਜਾਂਚ ਕਰਨ, ਅਤੇ ਸੰਟੈਕਸ ਨੂੰ ਠੀਕ ਕਰਨ ਲਈ ਕਦਮ-ਦਰ-ਕਦਮ ਲੈ ਜਾਂਦੀ ਹੈ ਤਾਂ ਜੋ ਤੁਹਾਡੀ ਸਕ੍ਰਿਪਟ ਬਿਨਾਂ ਕਿਸੇ ਰੁਕਾਵਟ ਦੇ ਚੱਲ ਸਕੇ। ਆਓ ਹੱਲ ਵਿੱਚ ਡੁਬਕੀ ਕਰੀਏ! 🚀

ਹੁਕਮ ਵਰਤੋਂ ਦੀ ਉਦਾਹਰਨ ਅਤੇ ਵਿਸਤ੍ਰਿਤ ਵਰਣਨ
CREATE DATABASE ਇਹ ਕਮਾਂਡ ਇੱਕ ਨਵਾਂ ਡਾਟਾਬੇਸ ਸ਼ੁਰੂ ਕਰਦੀ ਹੈ। ਇਸ ਸਥਿਤੀ ਵਿੱਚ, ਡੇਟਾਬੇਸ ਬਣਾਓ Ejercicio4_4A; ਦੀ ਵਰਤੋਂ ਇੱਕ ਖਾਸ ਡਾਟਾਬੇਸ ਸਥਾਪਤ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਜਿਸ ਨਾਲ ਮੌਜੂਦਾ ਪ੍ਰੋਜੈਕਟ ਨਾਲ ਸਬੰਧਤ ਟੇਬਲਾਂ ਨੂੰ ਹੋਰ ਡੇਟਾਬੇਸ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕੀਤੇ ਬਿਨਾਂ ਹੋਰ ਸੰਗਠਨ ਦੀ ਆਗਿਆ ਦਿੱਤੀ ਜਾਂਦੀ ਹੈ।
USE Ejercicio4_4A ਦੀ ਵਰਤੋਂ ਕਰੋ; ਵਿੱਚ ਸਰਗਰਮ ਡਾਟਾਬੇਸ ਸੰਦਰਭ ਨੂੰ ਬਦਲਦਾ ਹੈ Ejercicio4_4A, ਹਰੇਕ ਕਮਾਂਡ ਲਈ ਡਾਟਾਬੇਸ ਨਾਂ ਦੇਣ ਲਈ ਇਸ ਨੂੰ ਬੇਲੋੜਾ ਬਣਾਉਂਦਾ ਹੈ, ਜੋ ਕਿ ਅੱਗੇ ਆਉਂਦੀ ਹੈ।
AUTO_INCREMENT cod_editorial INT(3) PRIMARY KEY AUTO_INCREMENT ਵਰਗੇ ਕਾਲਮਾਂ 'ਤੇ ਇਹ ਵਿਸ਼ੇਸ਼ਤਾ ਆਪਣੇ ਆਪ ਹੀ ਨਵੀਆਂ ਐਂਟਰੀਆਂ ਲਈ ਵਿਲੱਖਣ ਮੁੱਲ ਤਿਆਰ ਕਰਦੀ ਹੈ। ਇਹ SQL ਸਾਰਣੀਆਂ ਵਿੱਚ ਪ੍ਰਾਇਮਰੀ ਕੁੰਜੀਆਂ ਲਈ ਮਹੱਤਵਪੂਰਨ ਹੈ ਜਿੱਥੇ ਵਿਲੱਖਣ ਪਛਾਣਕਰਤਾਵਾਂ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।
PRIMARY KEY ਸਾਰਣੀ ਵਿੱਚ ਹਰੇਕ ਰਿਕਾਰਡ ਲਈ ਇੱਕ ਵਿਲੱਖਣ ਪਛਾਣਕਰਤਾ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ। ਕੋਡ_ਐਡੀਟੋਰੀਅਲ INT(3) ਪ੍ਰਾਇਮਰੀ ਕੁੰਜੀ AUTO_INCREMENT ਵਿੱਚ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਕੋਈ ਵੀ ਡੁਪਲੀਕੇਟ ਮੁੱਲ ਮੌਜੂਦ ਨਹੀਂ ਹੈ, ਜੋ ਕਿ ਡੇਟਾ ਇਕਸਾਰਤਾ ਨੂੰ ਲਾਗੂ ਕਰਨ ਲਈ ਜ਼ਰੂਰੀ ਹੈ।
NOT NOT ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਫੀਲਡ ਵਿੱਚ ਮੁੱਲ ਸ਼ਾਮਲ ਨਹੀਂ ਹੋ ਸਕਦੇ, ਡੇਟਾ ਮੌਜੂਦਗੀ ਨੂੰ ਲਾਗੂ ਕਰਦੇ ਹੋਏ। ਉਦਾਹਰਨ ਲਈ, nombre VARCHAR(50) NOT ਗਰੰਟੀ ਦਿੰਦਾ ਹੈ ਕਿ ਹਰੇਕ ਸੰਪਾਦਕੀ ਦਾ ਇੱਕ ਨਾਮ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।
FOREIGN KEY ਇਹ ਦੋ ਟੇਬਲ ਦੇ ਵਿਚਕਾਰ ਇੱਕ ਰਿਸ਼ਤੇ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ. FOREIGN KEY (id_editorial) ਹਵਾਲੇ ਸੰਪਾਦਕੀ (cod_editorial) ਵਿੱਚ, ਇਹ ਲਿੰਕ ਕਰਦਾ ਹੈ libros ਨਾਲ ਸੰਪਾਦਕੀ, ਲਾਗੂ ਕਰਨ ਲਈ ਕਿ id_editorial ਵਿੱਚ ਮੁੱਲਾਂ ਨੂੰ cod_editorial ਵਿੱਚ ਐਂਟਰੀਆਂ ਨਾਲ ਮੇਲ ਖਾਣਾ ਚਾਹੀਦਾ ਹੈ।
REFERENCES ਵਿਦੇਸ਼ੀ ਕੁੰਜੀ ਕਿਸ ਸਾਰਣੀ ਅਤੇ ਕਾਲਮ ਨਾਲ ਸੰਬੰਧਿਤ ਹੈ, ਇਹ ਦੱਸਣ ਲਈ FOREIGN KY ਦੇ ਨਾਲ ਹਵਾਲੇ ਵਰਤੇ ਜਾਂਦੇ ਹਨ। ਇਹ ਟੇਬਲਾਂ ਵਿੱਚ ਰਿਲੇਸ਼ਨਲ ਡੇਟਾ ਦੀ ਇਕਸਾਰਤਾ ਨੂੰ ਸਥਾਪਤ ਕਰਨ ਅਤੇ ਲਾਗੂ ਕਰਨ ਲਈ ਮਹੱਤਵਪੂਰਨ ਹੈ।
ALTER TABLE ALTER TABLE ਇੱਕ ਮੌਜੂਦਾ ਸਾਰਣੀ ਬਣਤਰ ਨੂੰ ਸੋਧਦਾ ਹੈ। ਉਦਾਹਰਨ ਲਈ, ALTER TABLE libros ADD CONSTRAINT fk_editorial ਸ਼ੁਰੂਆਤੀ ਸਾਰਣੀ ਬਣਾਉਣ ਤੋਂ ਬਾਅਦ ਇੱਕ ਵਿਦੇਸ਼ੀ ਕੁੰਜੀ ਰੁਕਾਵਟ ਜੋੜਦਾ ਹੈ, ਸਬੰਧਾਂ ਦੇ ਪ੍ਰਬੰਧਨ ਵਿੱਚ ਲਚਕਤਾ ਦੀ ਪੇਸ਼ਕਸ਼ ਕਰਦਾ ਹੈ।
CONSTRAINT ਪਾਬੰਦੀਆਂ ਜਿਵੇਂ ਕਿ CONSTRAINT fk_editorial ਵਿਦੇਸ਼ੀ ਕੁੰਜੀ ਸਬੰਧਾਂ ਲਈ ਨਾਮ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ। ਇਹ ਆਸਾਨ ਸੰਦਰਭ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਖਾਸ ਕਰਕੇ ਜੇ ਅੱਪਡੇਟ ਜਾਂ ਮਿਟਾਉਣ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਜਦੋਂ ਕਿ ਡਾਟਾਬੇਸ ਪੜ੍ਹਨਯੋਗਤਾ ਵਿੱਚ ਸੁਧਾਰ ਹੁੰਦਾ ਹੈ।
INDEX INDEX (id_editorial) ਖੋਜ ਪ੍ਰਦਰਸ਼ਨ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ id_editorial 'ਤੇ ਇੱਕ ਸੂਚਕਾਂਕ ਬਣਾਉਂਦਾ ਹੈ। ਵਿਦੇਸ਼ੀ ਕੁੰਜੀ ਕਾਲਮਾਂ 'ਤੇ ਸੂਚਕਾਂਕ ਜੋੜਨ ਅਤੇ ਲੁੱਕਅਪ ਨੂੰ ਤੇਜ਼ ਕਰ ਸਕਦੇ ਹਨ, ਜੋ ਕਿ ਵੱਡੇ ਡੇਟਾਸੇਟਾਂ ਦੀ ਪੁੱਛਗਿੱਛ ਕਰਨ ਵੇਲੇ ਲਾਭਦਾਇਕ ਹੁੰਦਾ ਹੈ।

ਵਿਦੇਸ਼ੀ ਕੁੰਜੀ ਰੁਕਾਵਟਾਂ ਵਿੱਚ SQL ਸਿੰਟੈਕਸ ਗਲਤੀਆਂ ਦੇ ਹੱਲ ਨੂੰ ਸਮਝਣਾ

ਨਾਲ ਕੰਮ ਕਰਦੇ ਸਮੇਂ MySQL ਜਾਂ ਮਾਰੀਆਡੀਬੀ XAMPP ਵਿੱਚ, ERROR 1064 ਵਰਗੀਆਂ ਸੰਟੈਕਸ ਗਲਤੀਆਂ ਉਲਝਣ ਵਾਲੀਆਂ ਅਤੇ ਨਿਰਾਸ਼ਾਜਨਕ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਉਪਰੋਕਤ ਸਕ੍ਰਿਪਟਾਂ ਦਾ ਉਦੇਸ਼ ਇਹ ਯਕੀਨੀ ਬਣਾ ਕੇ ਇਹਨਾਂ ਆਮ ਮੁੱਦਿਆਂ ਨੂੰ ਠੀਕ ਕਰਨਾ ਹੈ ਕਿ SQL ਸੰਟੈਕਸ ਮਾਰੀਆਡੀਬੀ ਦੀਆਂ ਲੋੜਾਂ ਦੀ ਪਾਲਣਾ ਕਰਦਾ ਹੈ, ਖਾਸ ਤੌਰ 'ਤੇ ਵਿਦੇਸ਼ੀ ਕੁੰਜੀ ਰੁਕਾਵਟਾਂ ਨੂੰ ਸਥਾਪਤ ਕਰਨ ਵੇਲੇ। ਪਹਿਲੀ ਸਕ੍ਰਿਪਟ ਸਾਰਣੀ ਬਣਤਰ ਵਿੱਚ ਵਿਦੇਸ਼ੀ ਕੁੰਜੀ ਘੋਸ਼ਣਾ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕਰਕੇ, ਧਿਆਨ ਨਾਲ ਰੱਖ ਕੇ ਸੰਟੈਕਸ ਗਲਤੀ ਨਾਲ ਨਜਿੱਠਦੀ ਹੈ। ਵਿਦੇਸ਼ੀ ਕੁੰਜੀ ਇੱਕ ਵੱਖਰੀ ਲਾਈਨ 'ਤੇ ਪਾਬੰਦੀ. ਇਹ ਸਕ੍ਰਿਪਟ ਇੱਕ ਡੇਟਾਬੇਸ ਨੂੰ ਅਰੰਭ ਕਰਦੀ ਹੈ ਅਤੇ ਦੋ ਸੰਬੰਧਿਤ ਟੇਬਲ ਬਣਾਉਂਦੀ ਹੈ, 'ਸੰਪਾਦਕੀ' ਅਤੇ 'ਲਿਬਰੋਜ਼', ਜਿੱਥੇ 'ਲਿਬਰੋਜ਼' ਦੀ ਇੱਕ ਵਿਦੇਸ਼ੀ ਕੁੰਜੀ 'ਸੰਪਾਦਕੀ' ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦੀ ਹੈ। ਇਹ ਸੈਟਅਪ ਰਿਲੇਸ਼ਨਲ ਡੇਟਾਬੇਸ ਵਿੱਚ ਆਮ ਹੈ, ਜਿੱਥੇ ਹਰੇਕ ਕਿਤਾਬ ('ਲਿਬਰੋਜ਼' ਵਿੱਚ) ਨੂੰ ਇੱਕ ਪ੍ਰਕਾਸ਼ਕ ('ਸੰਪਾਦਕੀ ਵਿੱਚ') ਨਾਲ ਜੋੜਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਇੱਥੇ, ਮਾਰੀਆਡੀਬੀ ਲਈ ਟੇਬਲਾਂ ਦੇ ਵਿਚਕਾਰ ਸਬੰਧਾਂ ਨੂੰ ਸਹੀ ਤਰ੍ਹਾਂ ਸਮਝਣ ਲਈ ਸਹੀ ਸੰਟੈਕਸ ਮਹੱਤਵਪੂਰਨ ਹੈ। 📝

ਦੂਜਾ ਹੱਲ ਸ਼ੁਰੂ ਵਿੱਚ ਬਿਨਾਂ ਰੁਕਾਵਟਾਂ ਦੇ ਟੇਬਲ ਬਣਾ ਕੇ ਅਤੇ ਫਿਰ ਇੱਕ ਵਿਦੇਸ਼ੀ ਕੁੰਜੀ ਨੂੰ ਇੱਕ ਨਾਲ ਲਾਗੂ ਕਰਕੇ ਇੱਕ ਲਚਕਦਾਰ ਪਹੁੰਚ ਪੇਸ਼ ਕਰਦਾ ਹੈ। ਸਾਰਣੀ ਬਦਲੋ ਹੁਕਮ. ALTER ਟੇਬਲ ਦੀ ਵਰਤੋਂ ਕਰਕੇ, ਅਸੀਂ ਬਾਅਦ ਵਿੱਚ ਵਿਦੇਸ਼ੀ ਕੁੰਜੀ ਰੁਕਾਵਟ ਨੂੰ ਜੋੜਦੇ ਹਾਂ, ਸਾਨੂੰ ਵਧੇਰੇ ਨਿਯੰਤਰਣ ਅਤੇ ਗਲਤੀ ਰੋਕਥਾਮ ਵਿਕਲਪ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਾਂ। ਮੌਜੂਦਾ ਟੇਬਲਾਂ ਨੂੰ ਸੋਧਣ ਜਾਂ ਪੁਨਰਗਠਨ ਕਰਨ ਵੇਲੇ ਇਹ ਵਿਧੀ ਵਿਸ਼ੇਸ਼ ਤੌਰ 'ਤੇ ਲਾਭਦਾਇਕ ਹੈ। ਉਦਾਹਰਨ ਲਈ, ਜੇਕਰ ਤੁਹਾਨੂੰ ਪੂਰਵ-ਮੌਜੂਦਾ ਸਾਰਣੀ ਵਿੱਚ ਇੱਕ ਵਿਦੇਸ਼ੀ ਕੁੰਜੀ ਰੁਕਾਵਟ ਨੂੰ ਬਿਨਾਂ ਛੱਡੇ ਜਾਂ ਦੁਬਾਰਾ ਬਣਾਏ ਇਸ ਵਿੱਚ ਜੋੜਨ ਦੀ ਲੋੜ ਹੈ, ਤਾਂ ALTER TABLE ਤੁਹਾਨੂੰ ਅਜਿਹਾ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਪਹੁੰਚ ਸਾਰਣੀ ਬਣਾਉਣ ਦੌਰਾਨ ਸੰਟੈਕਸ ਟਕਰਾਅ ਤੋਂ ਬਚਣ ਵਿੱਚ ਵੀ ਮਦਦ ਕਰਦੀ ਹੈ, ਇੱਕ ਸਪਸ਼ਟ, ਕਦਮ-ਦਰ-ਕਦਮ ਢਾਂਚਾ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ ਜੋ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਡੇਟਾਬੇਸ ਹਰੇਕ ਕਮਾਂਡ ਦੀ ਸਹੀ ਵਿਆਖਿਆ ਕਰਦਾ ਹੈ। ਇਹ ਪਹੁੰਚ ਗੁੰਝਲਦਾਰ ਪ੍ਰੋਜੈਕਟਾਂ ਲਈ ਬਹੁਤ ਵਧੀਆ ਹੈ ਜਿੱਥੇ ਟੇਬਲਾਂ ਵਿੱਚ ਪਹਿਲਾਂ ਹੀ ਡੇਟਾ ਸ਼ਾਮਲ ਹੋ ਸਕਦਾ ਹੈ ਜਾਂ ਇੱਕ ਤੋਂ ਵੱਧ ਰਿਲੇਸ਼ਨਲ ਐਡਜਸਟਮੈਂਟਾਂ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। 💡

ਤੀਜੀ ਸਕ੍ਰਿਪਟ ਉਦਾਹਰਨ ਵਿਦੇਸ਼ੀ ਕੁੰਜੀ ਕਾਲਮ 'ਤੇ ਇੱਕ ਸੂਚਕਾਂਕ ਜੋੜ ਕੇ ਡਾਟਾਬੇਸ ਦੀ ਕੁਸ਼ਲਤਾ ਨੂੰ ਵਧਾਉਂਦੀ ਹੈ, ਜੋ ਕਿ ਪੁੱਛਗਿੱਛ ਦੀ ਕਾਰਗੁਜ਼ਾਰੀ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾਉਂਦਾ ਹੈ, ਖਾਸ ਕਰਕੇ ਵੱਡੇ ਡੇਟਾਸੇਟਾਂ ਵਿੱਚ। ਵਿਦੇਸ਼ੀ ਕੁੰਜੀਆਂ ਨਾਲ ਨਜਿੱਠਣ ਵੇਲੇ ਇੰਡੈਕਸਿੰਗ ਇੱਕ ਮਹੱਤਵਪੂਰਨ ਫਰਕ ਲਿਆ ਸਕਦੀ ਹੈ, ਕਿਉਂਕਿ ਇਹ ਲੁੱਕਅੱਪ ਨੂੰ ਤੇਜ਼ ਕਰਦਾ ਹੈ ਅਤੇ ਟੇਬਲਾਂ ਦੇ ਵਿਚਕਾਰ ਜੁੜਦਾ ਹੈ। ਉਦਾਹਰਨ ਲਈ, ਜੇਕਰ 'ਲਿਬਰੋਜ਼' ਸਾਰਣੀ ਵਿੱਚ ਕਿਸੇ ਕਿਤਾਬ ਦੇ ਡੇਟਾ ਨੂੰ 'ਸੰਪਾਦਕੀ' ਤੋਂ ਆਪਣੇ ਪ੍ਰਕਾਸ਼ਕ ਦਾ ਨਾਮ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਇੱਕ ਸੂਚਕਾਂਕ ਮਾਰੀਆਡੀਬੀ ਨੂੰ ਲੋੜੀਂਦੇ ਰਿਕਾਰਡਾਂ ਨੂੰ ਤੇਜ਼ੀ ਨਾਲ ਲੱਭਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ। ਹਾਲਾਂਕਿ ਪ੍ਰਦਰਸ਼ਨ ਲਾਭ ਛੋਟੇ ਡੇਟਾਸੈਟਾਂ ਵਿੱਚ ਤੁਰੰਤ ਧਿਆਨ ਦੇਣ ਯੋਗ ਨਹੀਂ ਹੋ ਸਕਦਾ ਹੈ, ਸੈਂਕੜੇ ਹਜ਼ਾਰਾਂ ਐਂਟਰੀਆਂ ਵਾਲੇ ਵੱਡੇ, ਅਸਲ-ਸੰਸਾਰ ਡੇਟਾਬੇਸ ਵਿੱਚ, ਸੂਚਕਾਂਕ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਇੱਕ ਵਧੀਆ ਅਭਿਆਸ ਹੈ ਜੋ ਪ੍ਰਦਰਸ਼ਨ ਨੂੰ ਮਹੱਤਵਪੂਰਨ ਤੌਰ 'ਤੇ ਵਧਾਉਂਦਾ ਹੈ।

ਅੰਤ ਵਿੱਚ, ਆਖਰੀ ਜੋੜ ਇੱਕ ਯੂਨਿਟ ਟੈਸਟ ਸਕ੍ਰਿਪਟ ਹੈ, ਜੋ ਜਾਂਚ ਕਰਦੀ ਹੈ ਕਿ ਹਰੇਕ ਵਿਦੇਸ਼ੀ ਕੁੰਜੀ ਰੁਕਾਵਟ ਵੈਧ ਅਤੇ ਅਵੈਧ ਡੇਟਾ ਐਂਟਰੀਆਂ ਦੀ ਜਾਂਚ ਕਰਕੇ ਇਰਾਦੇ ਅਨੁਸਾਰ ਕੰਮ ਕਰਦੀ ਹੈ। ਇਹ ਜਾਂਚ ਇਹ ਪ੍ਰਮਾਣਿਤ ਕਰਨ ਲਈ ਜ਼ਰੂਰੀ ਹੈ ਕਿ ਵਿਦੇਸ਼ੀ ਕੁੰਜੀ ਸੀਮਾਵਾਂ ਡੇਟਾ ਅਸੰਗਤਤਾਵਾਂ ਨੂੰ ਰੋਕਦੀਆਂ ਹਨ, ਜਿਵੇਂ ਕਿ ਇੱਕ ਗੈਰ-ਮੌਜੂਦ ਪ੍ਰਕਾਸ਼ਕ ID ਨਾਲ ਇੱਕ ਕਿਤਾਬ ਜੋੜਨਾ। ਉਦਾਹਰਨ ਲਈ, ਜਦੋਂ 'id_editorial' ਦੇ ਨਾਲ 'libros' ਵਿੱਚ ਇੱਕ ਰਿਕਾਰਡ ਸ਼ਾਮਲ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਜੋ 'editoriales' ਵਿੱਚ ਕਿਸੇ ਵੀ 'cod_editorial' ਨਾਲ ਮੇਲ ਨਹੀਂ ਖਾਂਦਾ, ਤਾਂ ਟੈਸਟ ਫੇਲ ਹੋ ਜਾਵੇਗਾ, ਜਿਵੇਂ ਕਿ ਉਮੀਦ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਸ ਤਰੀਕੇ ਨਾਲ ਡੇਟਾਬੇਸ ਦੀ ਜਾਂਚ ਕਰਨਾ SQL ਵਿਕਾਸ ਵਿੱਚ ਇੱਕ ਵਧੀਆ ਅਭਿਆਸ ਹੈ, ਕਿਉਂਕਿ ਇਹ ਸੰਭਾਵੀ ਮੁੱਦਿਆਂ ਨੂੰ ਛੇਤੀ ਫੜਨ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ ਅਤੇ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਵਿਦੇਸ਼ੀ ਕੁੰਜੀਆਂ ਟੇਬਲਾਂ ਵਿੱਚ ਪ੍ਰਭਾਵੀ ਤੌਰ 'ਤੇ ਰਿਲੇਸ਼ਨਲ ਇਕਸਾਰਤਾ ਨੂੰ ਕਾਇਮ ਰੱਖਦੀਆਂ ਹਨ। 👏

ਹੱਲ 1: ਵਿਦੇਸ਼ੀ ਕੁੰਜੀ ਸੰਦਰਭ ਲਈ ਸੰਟੈਕਸ ਨੂੰ ਠੀਕ ਕਰਨਾ

ਮਾਰੀਆਡੀਬੀ ਵਿੱਚ SQL ਸਕ੍ਰਿਪਟ (XAMPP ਵਾਤਾਵਰਣ ਵਿੱਚ ਟੈਸਟ ਕੀਤਾ ਗਿਆ)

CREATE DATABASE Ejercicio4_4A;
USE Ejercicio4_4A;

CREATE TABLE editoriales (
    cod_editorial INT(3) PRIMARY KEY AUTO_INCREMENT,
    nombre VARCHAR(50) NOT 
);

CREATE TABLE libros (
    cod_libro INT(3) PRIMARY KEY AUTO_INCREMENT,
    titulo VARCHAR(100) NOT ,
    id_editorial INT(3) NOT ,
    FOREIGN KEY (id_editorial) REFERENCES editoriales(cod_editorial)
);

ਹੱਲ 2: ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਵਿਦੇਸ਼ੀ ਕੁੰਜੀ ਰੁਕਾਵਟ ਨੂੰ ਜੋੜਨ ਲਈ ALTER ਟੇਬਲ ਦੀ ਵਰਤੋਂ ਕਰਨਾ

ਮਾਰੀਆਡੀਬੀ ਵਿੱਚ SQL ਸਕ੍ਰਿਪਟ (ਟੇਬਲ ਬਣਾਉਣ ਤੋਂ ਬਾਅਦ ਵਿਦੇਸ਼ੀ ਕੁੰਜੀ ਜੋੜਨਾ)

CREATE DATABASE Ejercicio4_4A;
USE Ejercicio4_4A;

CREATE TABLE editoriales (
    cod_editorial INT(3) PRIMARY KEY AUTO_INCREMENT,
    nombre VARCHAR(50) NOT 
);

CREATE TABLE libros (
    cod_libro INT(3) PRIMARY KEY AUTO_INCREMENT,
    titulo VARCHAR(100) NOT ,
    id_editorial INT(3) NOT 
);

ALTER TABLE libros
ADD CONSTRAINT fk_editorial
FOREIGN KEY (id_editorial) REFERENCES editoriales(cod_editorial);

ਹੱਲ 3: ਪ੍ਰਦਰਸ਼ਨ ਅਨੁਕੂਲਨ ਅਤੇ ਪ੍ਰਮਾਣਿਕਤਾ ਜਾਂਚਾਂ ਲਈ ਸੂਚਕਾਂਕ ਜੋੜਨਾ

ਪਰਫਾਰਮੈਂਸ ਓਪਟੀਮਾਈਜੇਸ਼ਨ ਦੇ ਨਾਲ ਮਾਰੀਆਡੀਬੀ ਵਿੱਚ SQL ਸਕ੍ਰਿਪਟ (ਇੰਡੈਕਸ ਜੋੜਨਾ)

CREATE DATABASE Ejercicio4_4A;
USE Ejercicio4_4A;

CREATE TABLE editoriales (
    cod_editorial INT(3) PRIMARY KEY AUTO_INCREMENT,
    nombre VARCHAR(50) NOT 
);

CREATE TABLE libros (
    cod_libro INT(3) PRIMARY KEY AUTO_INCREMENT,
    titulo VARCHAR(100) NOT ,
    id_editorial INT(3) NOT ,
    INDEX (id_editorial),
    FOREIGN KEY (id_editorial) REFERENCES editoriales(cod_editorial)
);

ਵਿਦੇਸ਼ੀ ਕੁੰਜੀ ਪਾਬੰਦੀ ਪ੍ਰਮਾਣਿਕਤਾ ਲਈ ਯੂਨਿਟ ਟੈਸਟ

ਮਾਰੀਆਡੀਬੀ ਵਿੱਚ ਵਿਦੇਸ਼ੀ ਕੁੰਜੀ ਰੁਕਾਵਟ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰਨ ਲਈ SQL ਯੂਨਿਟ ਟੈਸਟ

-- Insert valid entry into editoriales table
INSERT INTO editoriales (nombre) VALUES ('Editorial Uno');

-- Attempt to insert valid and invalid entries in libros table
INSERT INTO libros (titulo, id_editorial) VALUES ('Book One', 1); -- Expected: Success
INSERT INTO libros (titulo, id_editorial) VALUES ('Book Two', 99); -- Expected: Fail

ਮਾਰੀਆਡੀਬੀ ਵਿੱਚ ਡੇਟਾਬੇਸ ਪਾਬੰਦੀਆਂ ਅਤੇ ਗਲਤੀ ਰੋਕਥਾਮ ਦੀ ਪੜਚੋਲ ਕਰਨਾ

ਜਦੋਂ ਰਿਲੇਸ਼ਨਲ ਡੇਟਾਬੇਸ ਵਰਗੇ ਕੰਮ ਕਰਦੇ ਹਨ MySQL ਅਤੇ ਮਾਰੀਆਡੀਬੀ, ERROR 1064 (42000) ਵਰਗੀਆਂ ਗਲਤੀਆਂ ਤੋਂ ਬਚਣ ਲਈ ਵਿਦੇਸ਼ੀ ਕੁੰਜੀਆਂ ਨੂੰ ਸੰਭਾਲਣਾ ਅਤੇ ਸਾਰਣੀ ਸਬੰਧਾਂ ਲਈ ਸਹੀ ਸੰਟੈਕਸ ਨੂੰ ਸਮਝਣਾ ਜ਼ਰੂਰੀ ਹੈ। ਵਿਦੇਸ਼ੀ ਮੁੱਖ ਰੁਕਾਵਟਾਂ ਸ਼ਕਤੀਸ਼ਾਲੀ ਹੁੰਦੀਆਂ ਹਨ ਕਿਉਂਕਿ ਉਹ ਸੰਦਰਭ ਅਖੰਡਤਾ ਨੂੰ ਲਾਗੂ ਕਰਦੀਆਂ ਹਨ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦੀਆਂ ਹਨ ਕਿ ਟੇਬਲਾਂ ਵਿਚਕਾਰ ਸਬੰਧ ਬਰਕਰਾਰ ਰਹਿਣ। ਪਰ ਇਸ ਲਈ ਸਟੀਕ ਸੰਟੈਕਸ ਅਤੇ ਅਨੁਕੂਲ ਡੇਟਾ ਕਿਸਮਾਂ ਦੀ ਵੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਉਦਾਹਰਨ ਲਈ, ਜਦੋਂ ਟੇਬਲ 'ਲਿਬਰੋਜ਼' ਅਤੇ 'ਐਡੀਟੋਰੀਅਲਜ਼' ਨੂੰ ਜੋੜਦੇ ਹੋ, ਤਾਂ 'ਲਿਬਰੋਜ਼' ਵਿੱਚ ਵਿਦੇਸ਼ੀ ਕੁੰਜੀ ਨੂੰ 'ਸੰਪਾਦਕੀ' ਵਿੱਚ ਮੇਲ ਖਾਂਦੀ ਡਾਟਾ ਕਿਸਮ ਦੇ ਨਾਲ ਇੱਕ ਪ੍ਰਾਇਮਰੀ ਕੁੰਜੀ ਦਾ ਹਵਾਲਾ ਦੇਣਾ ਚਾਹੀਦਾ ਹੈ। ਇੱਥੋਂ ਤੱਕ ਕਿ ਇੱਕ ਛੋਟੀ ਸੰਟੈਕਸ ਗਲਤੀ ਜਾਂ ਮੇਲ ਖਾਂਦਾ ਗਲਤੀਆਂ ਨੂੰ ਟਰਿੱਗਰ ਕਰ ਸਕਦਾ ਹੈ ਜੋ ਸਕ੍ਰਿਪਟ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਨੂੰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਰੋਕ ਦਿੰਦੀ ਹੈ। ਇਸ ਲਈ ਮਾਰੀਆਡੀਬੀ ਵਿੱਚ ਇਹਨਾਂ ਕਮਾਂਡਾਂ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਢਾਂਚਾ ਕਰਨਾ, ਜਿਵੇਂ ਕਿ ਉੱਪਰ ਦਿੱਤੇ ਹੱਲਾਂ ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ, ਮਹੱਤਵਪੂਰਨ ਹੈ।

SQL ਕਮਾਂਡਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਸਮੇਂ ਇੱਕ ਹੋਰ ਮੁੱਖ ਪਹਿਲੂ ਹੈ ਪਾਬੰਦੀਆਂ ਡਾਟਾ ਇਕਸਾਰਤਾ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ ਲਈ. ਉਦਾਹਰਨ ਲਈ, ਪਾਬੰਦੀਆਂ ਜਿਵੇਂ NOT , UNIQUE, ਅਤੇ CHECK ਡੇਟਾ ਐਂਟਰੀ ਲਈ ਵਾਧੂ ਨਿਯਮ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ ਜੋ ਅਸੰਗਤ ਐਂਟਰੀਆਂ ਨੂੰ ਡੇਟਾਬੇਸ ਵਿੱਚ ਦਾਖਲ ਹੋਣ ਤੋਂ ਰੋਕਦੇ ਹਨ। ਪਾਬੰਦੀਆਂ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦੀਆਂ ਹਨ ਕਿ ਖਾਸ ਖੇਤਰ, ਜਿਵੇਂ ਕਿ ਕਿਤਾਬ ਦੇ ਸਿਰਲੇਖ ਜਾਂ ਪ੍ਰਕਾਸ਼ਕ ਦੇ ਨਾਮ, ਹਮੇਸ਼ਾ ਭਰੇ ਹੋਏ ਹਨ। ਉਤਪਾਦਨ ਡੇਟਾਬੇਸ ਵਿੱਚ, ਇਹਨਾਂ ਪਾਬੰਦੀਆਂ ਨੂੰ ਲਾਗੂ ਕਰਨਾ ਇਹ ਯਕੀਨੀ ਬਣਾ ਕੇ ਮੁੱਦਿਆਂ ਨੂੰ ਮਹੱਤਵਪੂਰਣ ਰੂਪ ਵਿੱਚ ਘਟਾ ਸਕਦਾ ਹੈ ਕਿ ਸਿਰਫ ਵੈਧ, ਇਕਸਾਰ ਡੇਟਾ ਸਟੋਰ ਕੀਤਾ ਗਿਆ ਹੈ। ਇਸ ਤੋਂ ਇਲਾਵਾ, ਮਾਰੀਆਡੀਬੀ ਨਾਲ ਟੇਬਲ ਬਣਾਉਣ ਤੋਂ ਬਾਅਦ ਰੁਕਾਵਟਾਂ ਨੂੰ ਜੋੜਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ ALTER TABLE ਕਮਾਂਡ, ਜੋ ਕਿ ਪ੍ਰੋਜੈਕਟ ਲੋੜਾਂ ਦੇ ਵਿਕਾਸ ਦੇ ਰੂਪ ਵਿੱਚ ਡੇਟਾਬੇਸ ਨੂੰ ਸੋਧਣ ਵਿੱਚ ਲਚਕਤਾ ਦਿੰਦੀ ਹੈ।

ਸਵਾਲਾਂ ਨੂੰ ਅਨੁਕੂਲਿਤ ਕਰਨ ਅਤੇ ਆਮ ਸਿੰਟੈਕਸ ਮੁੱਦਿਆਂ ਨੂੰ ਘੱਟ ਕਰਨ ਦਾ ਇੱਕ ਹੋਰ ਤਰੀਕਾ ਹੈ ਵਰਤਣਾ indexes. ਕਾਲਮਾਂ ਲਈ ਅਕਸਰ ਸ਼ਾਮਲ ਹੋਣ ਜਾਂ ਖੋਜਾਂ ਵਿੱਚ ਸ਼ਾਮਲ ਹੁੰਦੇ ਹਨ, ਜਿਵੇਂ ਕਿ ਵਿਦੇਸ਼ੀ ਕੁੰਜੀਆਂ, ਇੰਡੈਕਸਿੰਗ ਇੱਕ ਮਹੱਤਵਪੂਰਨ ਫਰਕ ਲਿਆ ਸਕਦੀ ਹੈ। ਇਹ ਵਿਸ਼ੇਸ਼ ਤੌਰ 'ਤੇ ਮਦਦਗਾਰ ਹੋ ਸਕਦਾ ਹੈ ਜਦੋਂ ਹਜ਼ਾਰਾਂ ਕਤਾਰਾਂ ਵਾਲੇ ਵੱਡੇ ਟੇਬਲ ਤੱਕ ਪਹੁੰਚ ਕਰਦੇ ਹੋ। ਉਦਾਹਰਨ ਲਈ, 'ਤੇ ਇੱਕ ਸੂਚਕਾਂਕ ਜੋੜਨਾ id_editorial 'ਲਿਬਰੋਜ਼' ਸਾਰਣੀ ਵਿੱਚ ਕਾਲਮ 'ਲਿਬਰੋਜ਼' ਅਤੇ 'ਐਡੀਟੋਰੀਅਲਜ਼' ਟੇਬਲਾਂ ਦੇ ਵਿਚਕਾਰ ਸ਼ਾਮਲ ਹੋਣ ਵਾਲੇ ਕਿਸੇ ਵੀ ਓਪਰੇਸ਼ਨ ਨੂੰ ਤੇਜ਼ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ, ਜੋ ਕਿ ਡੇਟਾਬੇਸ ਦੀ ਇਕਸਾਰਤਾ ਨੂੰ ਕਾਇਮ ਰੱਖਦੇ ਹੋਏ ਪੁੱਛਗਿੱਛ ਦੀ ਕਾਰਗੁਜ਼ਾਰੀ ਵਿੱਚ ਸੁਧਾਰ ਕਰਦਾ ਹੈ। ਇਹਨਾਂ SQL ਢਾਂਚਿਆਂ ਦੀ ਕੁਸ਼ਲ ਵਰਤੋਂ ਨਾ ਸਿਰਫ਼ ਗਲਤੀਆਂ ਨੂੰ ਰੋਕਦੀ ਹੈ ਸਗੋਂ ਸਮੁੱਚੇ ਡਾਟਾਬੇਸ ਦੀ ਕਾਰਗੁਜ਼ਾਰੀ ਨੂੰ ਵੀ ਵਧਾਉਂਦੀ ਹੈ। 📈

ਮਾਰੀਆਡੀਬੀ ਸਿੰਟੈਕਸ ਗਲਤੀਆਂ ਅਤੇ ਰੁਕਾਵਟਾਂ ਬਾਰੇ ਆਮ ਸਵਾਲ ਅਤੇ ਜਵਾਬ

  1. ਮਾਰੀਆਡੀਬੀ ਵਿੱਚ ਗਲਤੀ 1064 (42000) ਦਾ ਕੀ ਕਾਰਨ ਹੈ?
  2. ਇਹ ਗਲਤੀ ਅਕਸਰ SQL ਸਕ੍ਰਿਪਟ ਵਿੱਚ ਸੰਟੈਕਸ ਦੀਆਂ ਗਲਤੀਆਂ ਕਾਰਨ ਹੁੰਦੀ ਹੈ। ਆਮ ਕਾਰਨਾਂ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨ ਗੁੰਮ ਕੀਵਰਡ, ਅਸੰਗਤ ਡੇਟਾ ਕਿਸਮਾਂ, ਜਾਂ MariaDB ਸੰਸਕਰਣ ਲਈ ਅਸਮਰਥਿਤ SQL ਸੰਟੈਕਸ। ਤੁਹਾਡੀ ਸਕ੍ਰਿਪਟ ਲਾਈਨ ਦੀ ਲਾਈਨ ਦੁਆਰਾ ਸਮੀਖਿਆ ਕਰਨ ਨਾਲ ਗੁੰਮ ਹੋਏ ਤੱਤਾਂ ਦੀ ਪਛਾਣ ਕਰਨ ਵਿੱਚ ਮਦਦ ਮਿਲ ਸਕਦੀ ਹੈ FOREIGN KEY ਜਾਂ REFERENCES.
  3. ਕੀ ਮੈਂ ਇੱਕ ਸਾਰਣੀ ਬਣਾਉਣ ਤੋਂ ਬਾਅਦ ਇੱਕ ਵਿਦੇਸ਼ੀ ਕੁੰਜੀ ਰੋਕ ਜੋੜ ਸਕਦਾ ਹਾਂ?
  4. ਹਾਂ, ਤੁਸੀਂ ਵਰਤ ਸਕਦੇ ਹੋ ALTER TABLE ਟੇਬਲ ਬਣਾਏ ਜਾਣ ਤੋਂ ਬਾਅਦ ਇੱਕ ਵਿਦੇਸ਼ੀ ਕੁੰਜੀ ਰੁਕਾਵਟ ਜੋੜਨ ਲਈ ਕਮਾਂਡ। ਇਹ ਉਦੋਂ ਲਾਭਦਾਇਕ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਸਾਰਣੀ ਪਹਿਲਾਂ ਹੀ ਵਰਤੋਂ ਵਿੱਚ ਹੁੰਦੀ ਹੈ ਜਾਂ ਮਨੋਰੰਜਨ ਦੇ ਬਿਨਾਂ ਸੋਧ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।
  5. ਸੂਚਕਾਂਕ ਡੇਟਾਬੇਸ ਦੀ ਕਾਰਗੁਜ਼ਾਰੀ ਨੂੰ ਕਿਵੇਂ ਸੁਧਾਰਦੇ ਹਨ?
  6. ਸੂਚਕਾਂਕ, ਜਿਵੇਂ ਕਿ INDEX ਕਮਾਂਡ, ਡਾਟਾਬੇਸ ਨੂੰ ਲੋੜੀਂਦੀਆਂ ਕਤਾਰਾਂ ਨੂੰ ਤੇਜ਼ੀ ਨਾਲ ਲੱਭਣ ਦੀ ਇਜਾਜ਼ਤ ਦੇ ਕੇ ਵੱਡੀਆਂ ਟੇਬਲਾਂ ਵਿੱਚ ਡਾਟਾ ਪ੍ਰਾਪਤੀ ਨੂੰ ਤੇਜ਼ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ। ਇਹ ਖਾਸ ਤੌਰ 'ਤੇ ਉਹਨਾਂ ਕਾਲਮਾਂ ਲਈ ਲਾਭਦਾਇਕ ਹੈ ਜੋ ਅਕਸਰ ਟੇਬਲਾਂ ਨੂੰ ਖੋਜਣ ਜਾਂ ਜੋੜਨ ਲਈ ਵਰਤੇ ਜਾਂਦੇ ਹਨ, ਜਿਵੇਂ ਕਿ ਵਿਦੇਸ਼ੀ ਕੁੰਜੀਆਂ।
  7. ਮਾਰੀਆਡੀਬੀ ਵਿੱਚ ਵਿਦੇਸ਼ੀ ਕੁੰਜੀਆਂ ਦਾ ਸੰਟੈਕਸ ਇੰਨਾ ਸਖਤ ਕਿਉਂ ਹੈ?
  8. ਮਾਰੀਆਡੀਬੀ ਰੈਫਰੈਂਸ਼ੀਅਲ ਅਖੰਡਤਾ ਨੂੰ ਬਣਾਈ ਰੱਖਣ ਲਈ ਵਿਦੇਸ਼ੀ ਕੁੰਜੀਆਂ ਲਈ ਸਖਤ ਸੰਟੈਕਸ ਲਾਗੂ ਕਰਦਾ ਹੈ। ਵਿਦੇਸ਼ੀ ਕੁੰਜੀਆਂ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦੀਆਂ ਹਨ ਕਿ ਸੰਬੰਧਿਤ ਟੇਬਲਾਂ ਵਿੱਚ ਰਿਕਾਰਡ ਜੁੜੇ ਰਹਿੰਦੇ ਹਨ, ਜੋ ਕਿ ਰਿਲੇਸ਼ਨਲ ਡੇਟਾਬੇਸ ਵਿੱਚ ਡੇਟਾ ਸ਼ੁੱਧਤਾ ਅਤੇ ਇਕਸਾਰਤਾ ਲਈ ਮਹੱਤਵਪੂਰਨ ਹੈ।
  9. ਕੀ ਮੈਂ ਆਪਣੀ ਸਕ੍ਰਿਪਟ ਵਿੱਚ ਵਿਦੇਸ਼ੀ ਕੁੰਜੀ ਰੁਕਾਵਟ ਦੀ ਜਾਂਚ ਕਰ ਸਕਦਾ ਹਾਂ?
  10. ਹਾਂ, ਤੁਸੀਂ ਉਹਨਾਂ ਮੁੱਲਾਂ ਨੂੰ ਸ਼ਾਮਲ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਕੇ ਇਸ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰ ਸਕਦੇ ਹੋ ਜੋ ਸੰਦਰਭੀ ਪ੍ਰਾਇਮਰੀ ਕੁੰਜੀ ਸਾਰਣੀ ਨਾਲ ਮੇਲ ਨਹੀਂ ਖਾਂਦੀਆਂ। ਜੇ ਪਾਬੰਦੀ ਕਿਰਿਆਸ਼ੀਲ ਹੈ, ਤਾਂ ਅਜਿਹੇ ਸੰਮਿਲਨ ਅਸਫਲ ਹੋ ਜਾਣਗੇ, ਇਹ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਤੁਹਾਡੀ FOREIGN KEY ਪਾਬੰਦੀ ਉਮੀਦ ਅਨੁਸਾਰ ਕੰਮ ਕਰ ਰਹੀ ਹੈ।
  11. ਪ੍ਰਾਇਮਰੀ ਕੁੰਜੀ ਪਾਬੰਦੀ ਦਾ ਉਦੇਸ਼ ਕੀ ਹੈ?
  12. PRIMARY KEY ਕੰਸਟਰੈਂਟ ਇੱਕ ਸਾਰਣੀ ਵਿੱਚ ਹਰੇਕ ਰਿਕਾਰਡ ਦੀ ਵਿਲੱਖਣ ਪਛਾਣ ਕਰਦਾ ਹੈ, ਜੋ ਡੁਪਲੀਕੇਟ ਤੋਂ ਬਚਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ। ਇਹ ਵਿਦੇਸ਼ੀ ਕੁੰਜੀਆਂ ਨਾਲ ਟੇਬਲ ਨੂੰ ਜੋੜਨ ਲਈ ਵੀ ਜ਼ਰੂਰੀ ਹੈ।
  13. ਪਾਬੰਦੀਆਂ ਦੀ ਵਰਤੋਂ ਕਿਉਂ ਕਰੀਏ?
  14. NOT ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਕੁਝ ਖੇਤਰਾਂ ਵਿੱਚ ਖਾਲੀ ਮੁੱਲ ਸ਼ਾਮਲ ਨਹੀਂ ਹੋ ਸਕਦੇ ਹਨ। ਉਦਾਹਰਨ ਲਈ, ਇੱਕ 'ਲਿਬਰੋਜ਼' ਸਾਰਣੀ ਵਿੱਚ, ਇਹ ਪਾਬੰਦੀ ਯਕੀਨੀ ਬਣਾਉਂਦੀ ਹੈ ਕਿ ਹਰੇਕ ਕਿਤਾਬ ਐਂਟਰੀ ਦਾ ਇੱਕ ਸਿਰਲੇਖ ਹੈ, ਡੇਟਾ ਸੰਪੂਰਨਤਾ ਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।
  15. ALTER TABLE ਰੁਕਾਵਟਾਂ ਵਿੱਚ ਕਿਵੇਂ ਮਦਦ ਕਰ ਸਕਦਾ ਹੈ?
  16. ALTER TABLE ਕਮਾਂਡ ਤੁਹਾਨੂੰ ਰੁਕਾਵਟਾਂ ਨੂੰ ਜੋੜ ਕੇ ਜਾਂ ਹਟਾ ਕੇ ਮੌਜੂਦਾ ਸਾਰਣੀ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦੀ ਹੈ, ਜਿਸ ਨਾਲ ਤੁਸੀਂ ਸਾਰਣੀ ਨੂੰ ਦੁਬਾਰਾ ਬਣਾਏ ਬਿਨਾਂ ਤਬਦੀਲੀਆਂ ਕਰ ਸਕਦੇ ਹੋ।
  17. AUTO_INCREMENT ਦੀ ਵਰਤੋਂ ਕਰਨ ਦਾ ਕੀ ਫਾਇਦਾ ਹੈ?
  18. AUTO_INCREMENT ਇੱਕ ਸਾਰਣੀ ਵਿੱਚ ਹਰੇਕ ਨਵੀਂ ਕਤਾਰ ਲਈ ਆਪਣੇ ਆਪ ਇੱਕ ਵਿਲੱਖਣ ਪਛਾਣਕਰਤਾ ਤਿਆਰ ਕਰਦਾ ਹੈ, ਰਿਕਾਰਡ ਟਰੈਕਿੰਗ ਨੂੰ ਸਰਲ ਬਣਾਉਂਦਾ ਹੈ, ਖਾਸ ਕਰਕੇ ਪ੍ਰਾਇਮਰੀ ਕੁੰਜੀਆਂ ਲਈ।
  19. ਮਾਰੀਆਡੀਬੀ ਸਿੰਟੈਕਸ ਗਲਤੀਆਂ ਲਈ ਗਲਤੀ ਸੰਦੇਸ਼ਾਂ ਨੂੰ ਕਿਵੇਂ ਸੰਭਾਲਦਾ ਹੈ?
  20. ਮਾਰੀਆਡੀਬੀ ਗਲਤੀ ਸੁਨੇਹੇ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ ਜਿਵੇਂ ਕਿ ERROR 1064, ਜੋ ਗਲਤੀ ਦੀ ਕਿਸਮ ਅਤੇ ਸਥਾਨ ਨੂੰ ਦਰਸਾਉਂਦੇ ਹਨ। ਇਹ ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਉਹਨਾਂ ਦੀਆਂ SQL ਸਕ੍ਰਿਪਟਾਂ ਵਿੱਚ ਸਮੱਸਿਆਵਾਂ ਦਾ ਨਿਪਟਾਰਾ ਕਰਨ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਠੀਕ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ।

ਕੁੰਜੀ ਫਿਕਸ ਦੇ ਨਾਲ ਸਮੇਟਣਾ

ERROR 1064 (42000) ਵਰਗੀਆਂ ਤਰੁੱਟੀਆਂ ਅਕਸਰ ਛੋਟੇ ਸੰਟੈਕਸ ਮੁੱਦਿਆਂ ਦੇ ਨਤੀਜੇ ਵਜੋਂ ਹੁੰਦੀਆਂ ਹਨ ਜੋ MariaDB ਅਤੇ MySQL ਸਖਤੀ ਨਾਲ ਲਾਗੂ ਕਰਦੇ ਹਨ। ਕਮਾਂਡਾਂ ਦੀ ਧਿਆਨ ਨਾਲ ਜਾਂਚ ਅਤੇ ਵਿਵਸਥਿਤ ਕਰਨਾ, ਖਾਸ ਤੌਰ 'ਤੇ ਵਿਦੇਸ਼ੀ ਕੁੰਜੀ ਪਰਿਭਾਸ਼ਾਵਾਂ, ਡੇਟਾਬੇਸ ਕਾਰਜਕੁਸ਼ਲਤਾ ਨੂੰ ਬਣਾਈ ਰੱਖਣ ਵਿੱਚ ਮਦਦ ਕਰਦੀ ਹੈ।

ALTER TABLE ਦੀ ਵਰਤੋਂ ਕਰਨ ਜਾਂ ਸੂਚਕਾਂਕ ਜੋੜਨ ਵਰਗੀਆਂ ਵਿਧੀਆਂ ਨੂੰ ਲਾਗੂ ਕਰਨਾ ਭਵਿੱਖ ਦੇ ਵਿਕਾਸ ਵਿੱਚ ਸਮਾਨ ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਰੋਕ ਸਕਦਾ ਹੈ। ਇਹਨਾਂ ਪਹੁੰਚਾਂ ਦੇ ਨਾਲ, ਡਿਵੈਲਪਰ ਆਪਣੇ ਪ੍ਰੋਜੈਕਟਾਂ ਨੂੰ ਟਰੈਕ 'ਤੇ ਰੱਖਦੇ ਹੋਏ ਅਤੇ ਡੇਟਾਬੇਸ ਦੀ ਇਕਸਾਰਤਾ ਨੂੰ ਕਾਇਮ ਰੱਖਦੇ ਹੋਏ, ਸਿੰਟੈਕਸ ਗਲਤੀਆਂ ਨੂੰ ਵਧੇਰੇ ਕੁਸ਼ਲਤਾ ਨਾਲ ਹੱਲ ਕਰ ਸਕਦੇ ਹਨ। 🚀

MySQL ERROR 1064 ਨੂੰ ਹੱਲ ਕਰਨ ਲਈ ਸਰੋਤ ਅਤੇ ਹਵਾਲੇ
  1. MySQL ਅਤੇ MariaDB ਲਈ ਵਿਸਤ੍ਰਿਤ ਸੰਟੈਕਸ ਅਤੇ ਕਮਾਂਡ ਦਿਸ਼ਾ-ਨਿਰਦੇਸ਼: MySQL ਦਸਤਾਵੇਜ਼
  2. ਮਾਰੀਆਡੀਬੀ ਅਨੁਕੂਲਤਾ ਅਤੇ ਵਿਦੇਸ਼ੀ ਕੁੰਜੀ ਵਰਤੋਂ ਦਸਤਾਵੇਜ਼: ਮਾਰੀਆਡੀਬੀ ਗਿਆਨ ਅਧਾਰ
  3. ਮਾਰੀਆਡੀਬੀ ਵਾਤਾਵਰਣਾਂ ਵਿੱਚ SQL ਸੰਟੈਕਸ ਗਲਤੀਆਂ ਅਤੇ ਸਮੱਸਿਆ ਨਿਪਟਾਰਾ ਲਈ ਹੱਲ: DigitalOcean ਕਮਿਊਨਿਟੀ ਟਿਊਟੋਰਿਅਲ