ThaiSEOBoard.com

พัฒนาเว็บไซต์ => Programming => ข้อความที่เริ่มโดย: iamnewbies ที่ 07 เมษายน 2007, 23:49:22



หัวข้อ: มีวิีธี add ฐานข้อมูลยังไงไม่ให้มันซ้ำอะ ใน mysql
เริ่มหัวข้อโดย: iamnewbies ที่ 07 เมษายน 2007, 23:49:22
กำลังลองทำ mysql ทำ database ของ keyword รวม  เพิ่งสมัคร wordtracker  1 เดือน แล้วเอามาใส่

มีวิธียังไงที่จะ add ลงไปไม่ให้มันซ้ำนะ

เพราะลองทำแล้ว มันก็ run recoard ที่บันทึกไปเรื่อยๆ แต่มันซ้ำนี่สิ


หัวข้อ: มีวิีธี add ฐานข้อมูลยังไงไม่ให้มันซ้ำอะ ใน mysql
เริ่มหัวข้อโดย: Tee++; ที่ 08 เมษายน 2007, 01:45:42
เอา Field ที่จะไม่ให้ซ้ำตั้งเป็น unique แล้วตอน insert ใช้คำสั่ง ignore ลงไปเพื่อไม่ให้ Error

โค๊ด:
insert ignore into table ....


หรือ ถ้าจะให้ข้อมูลใหม่ลงใช้คำสั่ง

โค๊ด:
replace into table ....


หัวข้อ: มีวิีธี add ฐานข้อมูลยังไงไม่ให้มันซ้ำอะ ใน mysql
เริ่มหัวข้อโดย: tony ที่ 08 เมษายน 2007, 01:58:46
อ้างจาก: "Tee++;"
เอา Field ที่จะไม่ให้ซ้ำตั้งเป็น unique แล้วตอน insert ใช้คำสั่ง ignore ลงไปเพื่อไม่ให้ Error

โค๊ด:
insert ignore into table ....


หรือ ถ้าจะให้ข้อมูลใหม่ลงใช้คำสั่ง

โค๊ด:
replace into table ....


เก่งจัง  :P


หัวข้อ: มีวิีธี add ฐานข้อมูลยังไงไม่ให้มันซ้ำอะ ใน mysql
เริ่มหัวข้อโดย: iamnewbies ที่ 08 เมษายน 2007, 02:38:00
อ้างจาก: "Tee++;"
เอา Field ที่จะไม่ให้ซ้ำตั้งเป็น unique แล้วตอน insert ใช้คำสั่ง ignore ลงไปเพื่อไม่ให้ Error

โค๊ด:
insert ignore into table ....


หรือ ถ้าจะให้ข้อมูลใหม่ลงใช้คำสั่ง

โค๊ด:
replace into table ....



ขอบคุณครับ

จาลองทำดู

ผมมือใหม่ mysql  


I am newbies mysql


หัวข้อ: มีวิีธี add ฐานข้อมูลยังไงไม่ให้มันซ้ำอะ ใน mysql
เริ่มหัวข้อโดย: ColdMoney ที่ 08 เมษายน 2007, 08:56:31
อิอิ เก่งจัง ถ้าเป็นผม ก็คงเช็คก่อนอ่ะว่ามีข้อมูลอยู่อ่ะป่าว ถ้าซ้ำก็ไม่เขียนลงไป  :lol:  :lol:


หัวข้อ: มีวิีธี add ฐานข้อมูลยังไงไม่ให้มันซ้ำอะ ใน mysql
เริ่มหัวข้อโดย: Tee++; ที่ 08 เมษายน 2007, 11:31:56
เขิล  :oops:


หัวข้อ: มีวิีธี add ฐานข้อมูลยังไงไม่ให้มันซ้ำอะ ใน mysql
เริ่มหัวข้อโดย: EThaiZone ที่ 08 เมษายน 2007, 12:48:16
ไม่เคยรู้วิธีนี้เลย

ผมมักจะทำแต่

ทำ index เป็น auto increase

แต่ค่าอินเด็กก็ไม่ส่งไป มันนยัดให้เองอะไรแบบนั้น *-*


หัวข้อ: มีวิีธี add ฐานข้อมูลยังไงไม่ให้มันซ้ำอะ ใน mysql
เริ่มหัวข้อโดย: iamnewbies ที่ 08 เมษายน 2007, 12:52:35
อันแรก ทำเป็น auto increase อยู่แล้วครับ เพราะเป็น index

ใน table มีแค่ 2 แถว

แค่ id = เป็น auto increase  ใช้ทำเป้น index

และก็ อีกอันเป็น ข้อมูล data


หัวข้อ: มีวิีธี add ฐานข้อมูลยังไงไม่ให้มันซ้ำอะ ใน mysql
เริ่มหัวข้อโดย: iamnewbies ที่ 08 เมษายน 2007, 12:53:44
อ้างจาก: "Tee++;"
เอา Field ที่จะไม่ให้ซ้ำตั้งเป็น unique แล้วตอน insert ใช้คำสั่ง ignore ลงไปเพื่อไม่ให้ Error

โค๊ด:
insert ignore into table ....


หรือ ถ้าจะให้ข้อมูลใหม่ลงใช้คำสั่ง

โค๊ด:
replace into table ....



ใช้ได้ผลครับ

ผมใช้อันนี้

โค๊ด:
insert ignore into table ....



กว่าจะทำได้ error เพียบเลย

มั่วๆๆ เอา

mysql เจ้งไปหลายรอบแ้ล้ว เพราะเขียนโปรแกรมวนลูป จนมันไม่หยุด 5555


หัวข้อ: มีวิีธี add ฐานข้อมูลยังไงไม่ให้มันซ้ำอะ ใน mysql
เริ่มหัวข้อโดย: Tee++; ที่ 08 เมษายน 2007, 13:44:58
จริงๆ การจัดการข้อมูลที่ซ้ำซ้อนยังมีอีกหลายวิธี อีก วิธีที่ผมว่า Work More คือการ Add ข้อมูลลงใน Table ทั้งหมด ยังไม่ต้องสนข้อมูลซ้ำ จากนั้นสร้างตาราง Temporary ขึ้นมาเช่นแล้วเอาข้อมูลมายัดลงไปแบบนี้

โค๊ด:
CREATE TABLE Temporary SELECT DISTINCT * FROM Oldtable


จากนั้นก็ลบตาราง Oldtable แล้วแก้ชื่อตาราง Temporary ซะ

โค๊ด:
ALTER TABLE Temporary RENAME Oldtable


MySQL จริงๆ มีลูกเล่นเพียบเลยนะ เป็น Database ที่ดีใช้ได้ไม่น้อยน่า Oracle เลยทีเดียว จะเสียตรงเรื่องการจัดการข้อมูลเยอะนี่แหละที่สู้ไม่ได้
 :P


หัวข้อ: มีวิีธี add ฐานข้อมูลยังไงไม่ให้มันซ้ำอะ ใน mysql
เริ่มหัวข้อโดย: myong1 ที่ 11 เมษายน 2007, 19:07:58
ตัว php ผมไม่รู้นะครับ

ถ้าเป็น .net มี error แล้วข้ามไป กับเช็คโดยใช้ select clause

ใช้ select เช็คจะเร็วกว่าครับ ยิ่งถ้าปรับ field ให้มี index ด้วยจะเร็วกว่าแน่นอนครับ

แต่ถ้าไม่ได้ช้าอะไรมากมาย ก็ไม่ต้องซีเรียสครับ


หัวข้อ: มีวิีธี add ฐานข้อมูลยังไงไม่ให้มันซ้ำอะ ใน mysql
เริ่มหัวข้อโดย: ploiro ที่ 14 เมษายน 2007, 11:02:09
แหะๆผ่านมาอ่านเจอกาทู้นี้ ได้ความรู้ดีๆเลย

ขอบคุณ คุน Tee++ มากนะ

ผมเซฟเกบไว้เปนความรู้แระ

แต่สำหรับผม

เวลาป้องกันข้อมูลซ้ำกัน

แบบผมทำเวบอัพโหลด

ก็จะใช้การนำไอดีมาต่อหน้าชื่อไฟล์เดิมซะ

แบบว่า

$sql="Insert อะไรก้อว่าไป";
$r=mysql_query($sql);
$d=mysql_insert_id();

แล้วก้อนำมันมารวมเปนชื่อใหม่ซะ

$filename2="$id$filename";

แล้วค่อยอัพเดทมันอีกที

แหะๆ