הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   [שאלה] הוספת שורה למסד (https://hosts.co.il/forums/showthread.php?t=51610)

Kfir.G 08-08-07 14:27

[שאלה] הוספת שורה למסד
 
שלום,
אז ככה כתבתי את הקוד הנ"ל
PHP קוד:

<?php
    $connection 
mysql_connect("localhost","username","password") or die("Couldn't connect to server");
    
$db mysql_select_db("database",$connection) or die("Couldn't select database");
    
$query "CREATE TABLE t1(name VARCHAR(20),job VARCHAR(20))";
    
$result mysql_query($query) or die("Query failed: " .mysql_error());
    
$query "INSERT INTO tl(name,job) VALUES('someName','someJob')";
    
$result mysql_query($query) or die("Query failed: " .mysql_error());        
?>

עכשיו כשאני מריץ את הקוד אני מקבל את השגיאה הבאה:
Query failed: Table 't1' already exists
שנובעת מהקטע שבו ניסיתי להכניס שורה חדשה למסד. מה השגיאה בדיוק?
תודה מראש

עריכה:
התכוונתי להוספת שורה לטבלה :P אני חדש לנושא של עבודה עם מסד נתונים אז אני מקווה שתסלחו לי XD

Tomer 08-08-07 14:47

כדי להוסיף עוד שדה לטבלה, אתה מריץ:

קוד:

ALTER TABLE `x` ADD `y` TEXT NOT NULL
למשל, או כל שדה אחר.

כדי שהשגיאה שרשמת לא תוצג, למשל בקובץ של התקנת מערכת, אתה רושם:

קוד:

CREATE TABLE IF NOT EXIST blablabla
אני חושב שזה EXIST, אם לא אז EXISTS

Kfir.G 08-08-07 14:56

ציטוט:

נכתב במקור על ידי Tomer (פרסם 538149)
כדי להוסיף עוד שדה לטבלה, אתה מריץ:

קוד:

ALTER TABLE `x` ADD `y` TEXT NOT NULL
למשל, או כל שדה אחר.

כדי שהשגיאה שרשמת לא תוצג, למשל בקובץ של התקנת מערכת, אתה רושם:

קוד:

CREATE TABLE IF NOT EXIST blablabla
אני חושב שזה EXIST, אם לא אז EXISTS

אבל מה שאני רוצה לעשות זה להוסיף שורה עם תוכן אני לא צריך לשנות את מבנה הטבלה שלי...

WebProject 08-08-07 15:00

אז למה אתה יוצר טבלה חדשה? תשתמש בInsert

חפש בגוגל.

Kfir.G 08-08-07 15:24

ציטוט:

נכתב במקור על ידי WebProject (פרסם 538159)
אז למה אתה יוצר טבלה חדשה? תשתמש בInsert

חפש בגוגל.

מה ז"א למה אני יוצר טבלה חדשה? אם אני לא יוצר טבלה חדשה למה שתהיה לי טבלה?

daMn 08-08-07 15:27

ציטוט:

נכתב במקור על ידי kfir_dnd (פרסם 538172)
מה ז"א למה אני יוצר טבלה חדשה? אם אני לא יוצר טבלה חדשה למה שתהיה לי טבלה?

יש לך כבר טבלה, זה כבר הראה את השגיאה שהטבלה כבר קיימת.
אני לא מבין למה אתה מסתבך.
פקודת insert פשוטה תוסף שורה לטבלה קיימת בלי להרוס את הסדר שלה אם זה מה שאתה מתכוון.

תחפש על פקודות בסיסיות של sql.

בהצלחה ויום נעים,
ירין

Kfir.G 08-08-07 15:41

ציטוט:

נכתב במקור על ידי daMn (פרסם 538173)
יש לך כבר טבלה, זה כבר הראה את השגיאה שהטבלה כבר קיימת.
אני לא מבין למה אתה מסתבך.
פקודת insert פשוטה תוסף שורה לטבלה קיימת בלי להרוס את הסדר שלה אם זה מה שאתה מתכוון.

תחפש על פקודות בסיסיות של sql.

בהצלחה ויום נעים,
ירין

זה בדיוק הסיפור... זה מה שאני רוצה לעשות אבל כל פעם אני מקבל הודעה על זה שהטבלה קיימת או שהיא לא קיימת...
עכשיו ניסיתי ליצור את הטבלה מקובץ חיצוני ופעם הראשונה שהרצתי את זה הכל עבד מצויין אבל ברגע שלחצתי רענן קיבלתי את הודעת השגיאה שהטבלה לא קיימת... ;-( אני ממש משתגע מזה שזה אמור להיות ממש פשוט וקל ובכל זאת זה עושה לי כל כך הרבה בעיות...

Tomer 08-08-07 15:48

ואני מניח שלא קראת מה שרשמתי, נכון?

תוסיף IF NOT EXIST, שיהיה:
קוד:

CREATE TABLE `x` IF NOT EXIST

Kfir.G 08-08-07 16:02

ציטוט:

נכתב במקור על ידי Tomer (פרסם 538183)
ואני מניח שלא קראת מה שרשמתי, נכון?

תוסיף IF NOT EXIST, שיהיה:
קוד:

CREATE TABLE `x` IF NOT EXIST

ניסיתי את זה כבר... כשאני כותב את זה ככה אני מקבל
Query failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'EXIST t1(name VARCHAR(20),job VARCHAR(20))' at line 1
וכשאני משנה לIF NOT EXISTS אני מקבל
Query failed: Table "database.tl' doesn't exist

עריכה:
לא יודע אם זה עוזר אבל זה מה שאני מקבל כשאני מוריד את המסד
http://kfir.shidur.us/db.html

חיים 08-08-07 16:37

עריכה:לא שמתי לב לבעיה בידיוק עוד מאט אני משיג תשובה


כל הזמנים הם GMT +2. הזמן כעת הוא 17:18.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ