คำถามติดแท็ก mysql

MySQL เป็นโอเพ่นซอร์สระบบการจัดการฐานข้อมูลเชิงสัมพันธ์ (RDBMS) ที่ใช้ภาษาคิวรีเชิงโครงสร้าง (SQL) ห้ามใช้แท็กนี้สำหรับฐานข้อมูลอื่น ๆ เช่น SQL Server, SQLite เป็นต้นฐานข้อมูลเหล่านี้เป็นฐานข้อมูลที่แตกต่างกันซึ่งทั้งหมดใช้ภาษาของ SQL เพื่อจัดการข้อมูล

13
ฟิลด์จำนวนเต็ม MySQL จะถูกส่งกลับเป็นสตริงใน PHP
ฉันมีช่องตารางในฐานข้อมูล MySQL: userid INT(11) ดังนั้นฉันจึงเรียกมันไปที่เพจของฉันด้วยข้อความค้นหานี้: "SELECT userid FROM DB WHERE name='john'" จากนั้นสำหรับการจัดการผลลัพธ์ฉันทำ: $row=$result->fetch_assoc(); $id=$row['userid']; ตอนนี้ถ้าฉันทำ: echo gettype($id); ฉันได้รับสตริง นี่ควรเป็นจำนวนเต็มไม่ใช่หรือ
127 php  mysql  types  int  gettype 

15
เรียงลำดับใหม่ / รีเซ็ตคีย์หลักที่เพิ่มขึ้นอัตโนมัติ
ฉันมีตาราง MySQL ที่มีคีย์หลักแบบเพิ่มอัตโนมัติ ฉันลบบางแถวตรงกลางตาราง ตอนนี้ฉันมีบางอย่างเช่นนี้ในคอลัมน์ ID: 12, 13, 14, 19, 20 ฉันลบแถว 15, 16, 17 และ 18 ฉันต้องการกำหนดใหม่ / รีเซ็ต / เรียงลำดับคีย์หลักใหม่เพื่อให้ฉันมีความต่อเนื่องเช่นสร้าง 19 a 15, 20 a 16 และอื่น ๆ ฉันจะทำมันได้อย่างไร?
127 mysql  database 

11
มีคอลัมน์เวลาประทับที่สร้างและอัปเดตล่าสุดใน MySQL 4.0
ฉันมีสคีมาตารางต่อไปนี้ CREATE TABLE `db1`.`sms_queue` ( `Id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, `Message` VARCHAR(160) NOT NULL DEFAULT 'Unknown Message Error', `CurrentState` VARCHAR(10) NOT NULL DEFAULT 'None', `Phone` VARCHAR(14) DEFAULT NULL, `Created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, `LastUpdated` TIMESTAMP NOT NULL ON UPDATE CURRENT_TIMESTAMP, `TriesLeft` tinyint NOT NULL DEFAULT 3, PRIMARY KEY …

20
การสลับค่าคอลัมน์ใน MySQL
ฉันมีตาราง MySQL ที่มีพิกัดชื่อคอลัมน์คือ X และ Y ตอนนี้ฉันต้องการสลับค่าคอลัมน์ในตารางนี้เพื่อให้ X กลายเป็น Y และ Y กลายเป็น X วิธีแก้ปัญหาที่ชัดเจนที่สุดคือการเปลี่ยนชื่อคอลัมน์ แต่ฉัน ไม่ต้องการเปลี่ยนแปลงโครงสร้างเนื่องจากฉันไม่จำเป็นต้องมีสิทธิ์ในการทำเช่นนั้น เป็นไปได้ไหมที่จะUPDATEในทางใดทางหนึ่ง? อัปเดตตาราง SET X = Y, Y = Xแน่นอนว่าจะไม่ทำตามที่ฉันต้องการ แก้ไข: โปรดทราบว่าการ จำกัด สิทธิ์ของฉันดังกล่าวข้างต้นป้องกันการใช้ ALTER TABLE หรือคำสั่งอื่น ๆ ที่เปลี่ยนแปลงโครงสร้างตาราง / ฐานข้อมูลได้อย่างมีประสิทธิภาพ การเปลี่ยนชื่อคอลัมน์หรือการเพิ่มคอลัมน์ใหม่ไม่ใช่ตัวเลือก
127 mysql  database 

18
MySQL: เปิดใช้งาน LOAD DATA LOCAL INFILE
ฉันใช้ Mysql 5.5 บน Ubuntu 12 LTS ฉันจะเปิดใช้งาน LOAD DATA LOCAL INFILE ใน my.cnf ได้อย่างไร ฉันได้ลองเพิ่ม local-infile ใน config ของฉันในหลาย ๆ ที่แล้ว แต่ฉันยังคงได้รับ "คำสั่งที่ใช้ไม่ได้รับอนุญาตกับ MySQL เวอร์ชันนี้"
127 mysql 

4
MySQL SELECT WHERE วันที่และเวลาตรงกับวัน (และไม่จำเป็นต้องเป็นเวลา)
ฉันมีตารางที่มีคอลัมน์วันที่และเวลา ฉันต้องการส่งคืนบันทึกทั้งหมดของวันที่กำหนดโดยไม่คำนึงถึงเวลา หรือกล่าวอีกนัยหนึ่งคือถ้าตารางของฉันมีเพียง 4 ระเบียนต่อไปนี้ระบบจะส่งคืนเฉพาะรายการที่ 2 และ 3 เท่านั้นหากฉัน จำกัด ไว้ที่ 2012-12-25 2012-12-24 00:00:00 2012-12-25 00:00:00 2012-12-25 06:00:00 2012-12-26 05:00:00
127 mysql  date  select 

11
คอลัมน์ที่ไม่รู้จักใน 'รายการฟิลด์' เกิดข้อผิดพลาดในแบบสอบถาม MySQL Update
ฉันได้รับข้อผิดพลาด MySQL # 1054 อยู่เรื่อย ๆ เมื่อพยายามดำเนินการค้นหาอัปเดตนี้: UPDATE MASTER_USER_PROFILE, TRAN_USER_BRANCH SET MASTER_USER_PROFILE.fellow=`y` WHERE MASTER_USER_PROFILE.USER_ID = TRAN_USER_BRANCH.USER_ID AND TRAN_USER_BRANCH.BRANCH_ID = 17 อาจเป็นข้อผิดพลาดทางไวยากรณ์ แต่ฉันได้ลองใช้การรวมภายในแทนและการแก้ไขอื่น ๆ แต่ฉันยังคงได้รับข้อความเดิม: Unknown column 'y' in 'field list'

6
การตั้งค่า MySQL และการนำเข้าดัมพ์ภายใน Dockerfile
ฉันกำลังพยายามตั้งค่า Dockerfile สำหรับโปรเจ็กต์ LAMP ของฉัน แต่ฉันมีปัญหาเล็กน้อยเมื่อเริ่ม MySQL ฉันมีบรรทัดต่อไปนี้บน Dockerfile ของฉัน: VOLUME ["/etc/mysql", "/var/lib/mysql"] ADD dump.sql /tmp/dump.sql RUN /usr/bin/mysqld_safe & sleep 5s RUN mysql -u root -e "CREATE DATABASE mydb" RUN mysql -u root mydb < /tmp/dump.sql แต่ฉันได้รับข้อผิดพลาดนี้เรื่อย ๆ : ERROR 2002 (HY000): Can't connect to local MySQL server through socket …
127 mysql  docker 


8
MySQL: หลายตารางหรือหนึ่งตารางที่มีหลายคอลัมน์?
นี่จึงเป็นคำถามเกี่ยวกับการออกแบบมากกว่า ฉันมีคีย์หลักหนึ่งคีย์ (เช่น ID ผู้ใช้) และฉันมีข้อมูลมากมายที่เกี่ยวข้องกับผู้ใช้รายนั้น ฉันควรแบ่งตารางหลายตารางเป็นหมวดหมู่ตามข้อมูลหรือควรมีเพียงตารางเดียวที่มีหลายคอลัมน์ วิธีที่ฉันเคยทำคือการมีหลายตารางเช่นตารางหนึ่งตารางสำหรับข้อมูลการใช้งานแอปพลิเคชันหนึ่งตารางสำหรับข้อมูลโปรไฟล์หนึ่งตารางสำหรับโทเค็นส่วนหลังเป็นต้นเพื่อให้สิ่งต่างๆดูเป็นระเบียบ เมื่อเร็ว ๆ นี้มีบางคนบอกฉันว่าไม่ควรทำแบบนั้นและมีตารางที่มีคอลัมน์จำนวนมากก็ใช้ได้ ประเด็นก็คือคอลัมน์ทั้งหมดเหล่านั้นมีคีย์หลักเหมือนกัน ฉันค่อนข้างใหม่กับการออกแบบฐานข้อมูลดังนั้นแนวทางใดดีกว่ากันและข้อดีข้อเสียคืออะไร วิธีการทำแบบธรรมดาคืออะไร?

3
MySQL Select Query - รับเพียง 10 อักขระแรกของค่า
ตกลงนี่คือปัญหา ฉันมีตารางที่มีคอลัมน์บางคอลัมน์และ 'หัวเรื่อง' เป็นหนึ่งในคอลัมน์ ฉันต้องการรับตัวอักษร 10 ตัวแรกจากฟิลด์ "หัวเรื่อง" ไม่ว่าฟิลด์ "หัวเรื่อง" จะมีสตริงที่มีตัวอักษร 100 ตัวก็ตาม ตัวอย่างเช่น, ตาราง - tbl. คอลัมน์ id- subject, value, แบบสอบถาม SQL: SELECT subject FROM tbl WHERE id ='$id'; ตัวอย่างเช่นผลลัพธ์ที่ฉันได้รับคือ สวัสดีนี่เป็นเรื่องของฉันและเป็นอย่างไรบ้าง ฉันต้องการอักขระ 10 ตัวแรกเท่านั้น สวัสดีคุณ ฉันเข้าใจว่าฉันสามารถลบอักขระที่เหลือโดยใช้ php substr () ได้ แต่ในกรณีของฉันไม่สามารถทำได้ ฉันต้องการลบอักขระส่วนเกินออกโดย MySQL จะทำได้อย่างไร?
126 mysql  sql  select 

11
LINQ เป็นเอนทิตีไม่รู้จักเมธอด 'System.String ToString ()' และวิธีนี้ไม่สามารถแปลเป็นนิพจน์ร้านค้าได้
ฉันกำลังย้ายข้อมูลบางอย่างจากเซิร์ฟเวอร์ mysql หนึ่งไปยังเซิร์ฟเวอร์ sql แต่ฉันไม่สามารถหาวิธีทำให้รหัสนี้ทำงานได้: using (var context = new Context()) { ... foreach (var item in collection) { IQueryable<entity> pages = from p in context.pages where p.Serial == item.Key.ToString() select p; foreach (var page in pages) { DataManager.AddPageToDocument(page, item.Value); } } Console.WriteLine("Done!"); Console.Read(); } เมื่อเข้าสู่วินาทีforeach (var page in pages)จะแสดงข้อยกเว้นว่า: …
126 c#  mysql  sql  linq 

3
SQL (MySQL) เทียบกับ NoSQL (CouchDB) [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบได้ด้วยข้อเท็จจริงและการอ้างอิงโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ปรับปรุงคำถามนี้ ฉันอยู่ระหว่างการออกแบบแอปพลิเคชันที่ปรับขนาดได้สูงซึ่งต้องจัดเก็บข้อมูลจำนวนมาก ตัวอย่างเช่นมันจะเก็บข้อมูลเกี่ยวกับผู้ใช้จำนวนมากจากนั้นสิ่งต่างๆเช่นข้อความความคิดเห็น ฯลฯ จำนวนมากฉันเคยใช้ MySQL มาก่อน แต่ตอนนี้ฉันตั้งใจที่จะลองสิ่งใหม่ ๆ เช่น couchdb หรือสิ่งที่คล้ายกันซึ่งไม่ใช่ SQL ใครมีความคิดหรือคำแนะนำเกี่ยวกับเรื่องนี้หรือไม่?
126 mysql  sql  nosql  couchdb 

8
วิธีใดในการเลือกโดยไม่ทำให้เกิดการล็อกใน MySQL?
ค้นหา: SELECT COUNT(online.account_id) cnt from online; show processlistแต่ตารางออนไลน์มีการแก้ไขโดยเหตุการณ์บ่อยครั้งดังนั้นฉันสามารถดูล็อคโดยการเรียกใช้ มีไวยากรณ์ใดใน MySQL ที่สามารถทำให้คำสั่ง select ไม่ทำให้เกิดการล็อกได้หรือไม่? และฉันลืมที่จะพูดถึงข้างต้นว่ามันอยู่ในฐานข้อมูลทาสของ MySQL หลังจากที่ฉันเพิ่มเข้าไปmy.cnf:transaction-isolation = READ-UNCOMMITTED ในทาสจะพบกับข้อผิดพลาด: ข้อผิดพลาด 'ไม่สามารถบันทึกไบนารีได้ ข้อความ: ระดับธุรกรรม 'READ-UNCOMMITTED' ใน InnoDB ไม่ปลอดภัยสำหรับโหมด binlog 'STATEMENT' ในข้อความค้นหา มีวิธีที่เข้ากันได้ในการทำเช่นนี้หรือไม่?
126 mysql  locking 

4
MySQL เลือกค่าต่ำสุด / สูงสุดระหว่างสองค่า (หรือมากกว่า) ที่กำหนด
เป็นไปได้SELECTหรือไม่ที่ค่าต่ำสุดหรือสูงสุดระหว่างค่าสองค่าขึ้นไป ฉันต้องการสิ่งนี้: SELECT MAX_VALUE(A.date0, B.date0) AS date0, MIN_VALUE(A.date1, B.date1) AS date1 FROM A, B WHERE B.x = A.x ฉันสามารถบรรลุสิ่งนี้ได้โดยใช้ MySQL เท่านั้นหรือไม่?
126 mysql  sql 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.