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

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

7
จะเปลี่ยนคอลัมน์และเปลี่ยนค่าเริ่มต้นได้อย่างไร?
ฉันได้รับข้อผิดพลาดต่อไปนี้ขณะที่พยายามแก้ไขชนิดข้อมูลของคอลัมน์และตั้งค่าเริ่มต้นใหม่: ALTER TABLE foobar_data ALTER COLUMN col VARCHAR(255) NOT NULL SET DEFAULT '{}'; ข้อผิดพลาด 1064 (42000): คุณมีข้อผิดพลาดในไวยากรณ์ SQL ของคุณ ตรวจสอบคู่มือที่สอดคล้องกับเวอร์ชั่นเซิร์ฟเวอร์ MySQL ของคุณเพื่อหาไวยากรณ์ที่ถูกต้องใกล้กับ 'VARCHAR (255) ไม่ได้ตั้งค่าเริ่มต้นเป็นศูนย์' {} '' ที่บรรทัด 1
190 mysql  sql 

9
ฉันจะใส่ 'if clause' ในสตริง SQL ได้อย่างไร
ดังนั้นนี่คือสิ่งที่ฉันต้องการทำในฐานข้อมูลMySQLของฉัน ฉันอยากจะทำ: SELECT * FROM itemsOrdered WHERE purchaseOrder_ID = '@purchaseOrdered_ID' AND status = 'PENDING' หากที่จะไม่กลับแถวใด ๆ ซึ่งเป็นไปได้ผ่านif(dr.HasRows == false)ตอนนี้ฉันจะสร้างUPDATEในpurchaseOrderฐานข้อมูล: UPDATE purchaseOrder SET purchaseOrder_status = 'COMPLETED' WHERE purchaseOrder_ID = '@purchaseOrder_ID' ฉันจะทำให้กระบวนการนี้สั้นลงได้อย่างไร
190 mysql  sql 

10
PHP PDO: ชุดอักขระตั้งชื่อ?
ฉันมีสิ่งนี้ก่อนหน้านี้ในการเชื่อมต่อ mysql_ * ปกติของฉัน: mysql_set_charset("utf8",$link); mysql_query("SET NAMES 'UTF8'"); ฉันต้องการมันสำหรับ PDO หรือไม่? และฉันควรจะได้ที่ไหน $connect = new PDO("mysql:host=$host;dbname=$db", $user, $pass, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
189 php  mysql  pdo 


10
แปลงเวลาเป็นวันที่ในแบบสอบถาม MySQL
ฉันต้องการแปลง a timestampใน MySQL เป็นวันที่ ผมอยากจะจัดรูปแบบข้อมูล user.registration yyyy-mm-ddลงในแฟ้มข้อความเป็น นี่คือ SQL ของฉัน: $sql = requestSQL("SELECT user.email, info.name, FROM_UNIXTIME(user.registration), info.news FROM user, info WHERE user.id = info.id ", "export members"); ฉันลองแปลงวันที่ด้วย: DATE_FORMAT(user.registration, '%d/%m/%Y') DATE(user.registration) ฉันสะท้อนผลลัพธ์ก่อนที่จะเขียนไฟล์ข้อความและฉันได้รับ: อีเมล 1; ชื่อ 1; DATE_FORMAT (ผู้ใช้การลงทะเบียน, '% d /% m /% Y'); news1 อีเมล 2; name2; news2 …

4
mysqld_safe Directory '/ var / run / mysqld' สำหรับไฟล์ซ็อกเก็ต UNIX ไม่มีอยู่
ในขณะที่เริ่มต้นเซิร์ฟเวอร์ mysql 5.7.17 โดยใช้ mysqld_safe ทำตามข้อผิดพลาดเกิดขึ้น 2017-02-10T17:05:44.870970Z mysqld_safe Logging to '/var/log/mysql/error.log'. 2017-02-10T17:05:44.872874Z mysqld_safe Logging to '/var/log/mysql/error.log'. 2017-02-10T17:05:44.874547Z mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exists. จะแก้ไขได้อย่างไร?
188 mysql  sockets 

12
MySQL - แถวไปยังคอลัมน์
ฉันพยายามค้นหาโพสต์ แต่ฉันพบวิธีแก้ปัญหาสำหรับ SQL Server / Access เท่านั้น ฉันต้องการโซลูชันใน MySQL (5.X) ฉันมีตาราง (เรียกว่าประวัติ) ที่มี 3 คอลัมน์: hostid, itemname, itemvalue ถ้าฉันเลือก ( select * from history) มันจะกลับมา +--------+----------+-----------+ | hostid | itemname | itemvalue | +--------+----------+-----------+ | 1 | A | 10 | +--------+----------+-----------+ | 1 | B | 3 | +--------+----------+-----------+ …
188 mysql  sql  pivot-table  etl  crosstab 


4
วิธีการเปลี่ยนการเรียงหน้าเริ่มต้นของตาราง?
create table check2(f1 varchar(20),f2 varchar(20)); สร้างตารางที่มีการเปรียบเทียบค่าเริ่มต้นlatin1_general_ci; alter table check2 collate latin1_general_cs; show full columns from check2; แสดงการเรียงคอลัมน์แต่ละคอลัมน์เป็น 'latin1_general_ci' ถ้าอย่างนั้นผลของคำสั่งเปลี่ยนแปลงตารางคืออะไร?
187 mysql  sql  collation 

5
mysql :: แทรกลงในตารางข้อมูลจากตารางอื่น?
ฉันสงสัยว่ามีวิธีการทำเช่นนี้อย่างหมดจดใน sql: q1 = SELECT campaign_id, from_number, received_msg, date_received FROM `received_txts` WHERE `campaign_id` = '8'; INSERT INTO action_2_members (campaign_id, mobile, vote, vote_date) VALUES(q1.campaign_id, q1.from_number, q1.received_msg, q1.date_received); หมายเหตุ: q1 จะส่งคืนแถวประมาณ 30k มีวิธีที่จะทำสิ่งที่ฉันพยายามข้างต้นใน sql ตรง? หากต้องการดึงข้อมูลโดยตรงจากตารางหนึ่ง (โดยทั่วไปเป็นตารางข้อมูลดิบ) และแทรกลงในอีกตารางหนึ่ง (โดยทั่วไปเป็นตารางข้อมูลที่ประมวลผลแล้ว)
187 sql  mysql 

8
วิธีค้นหาไดเรกทอรีข้อมูล mysql จากบรรทัดคำสั่งใน windows
ในลินุกซ์ที่ฉันสามารถหาไดเรกทอรีการติดตั้ง MySQL which mysqlด้วยคำสั่ง แต่ฉันไม่พบหน้าต่างใด ๆ ฉันพยายามecho %path%และมันส่งผลหลายเส้นทางพร้อมกับเส้นทางไปยัง mysql bin ฉันต้องการค้นหาไดเรกทอรีข้อมูล mysql จาก command line ใน windows เพื่อใช้ในโปรแกรม batch ฉันต้องการค้นหาไดเรคทอรีข้อมูล mysql จากบรรทัดคำสั่ง linux เป็นไปได้ไหม? หรือเราจะทำอย่างนั้นได้อย่างไร ในกรณีของฉันไดเรกทอรีข้อมูล mysql อยู่ในโฟลเดอร์การติดตั้งเช่น..MYSQL\mysql server 5\dataมันอาจจะติดตั้งในไดรฟ์ใด ๆ ฉันต้องการรับคืนจากบรรทัดคำสั่ง


5
การลบแถวด้วย MySQL LEFT JOIN
ฉันมีสองตารางหนึ่งตารางสำหรับงานกำหนดเวลาหนึ่งตารางสำหรับอธิบายงาน แต่ละงานสามารถรับสถานะได้และบางสถานะหมายถึงกำหนดเวลางานที่ต้องลบออกจากตารางอื่น ฉันสามารถSELECTหางาน / กำหนดเวลาที่ตรงกับเกณฑ์ของฉันด้วยLEFT JOIN: SELECT * FROM `deadline` LEFT JOIN `job` ON deadline.job_id = job.job_id WHERE `status` = 'szamlazva' OR `status` = 'szamlazhato' OR `status` = 'fizetve' OR `status` = 'szallitva' OR `status` = 'storno' ( statusเป็นของjobตารางไม่ได้deadline) แต่เมื่อฉันต้องการลบแถวเหล่านี้ออกdeadlineMySQL จะพ่นข้อผิดพลาด คำถามของฉันคือ: DELETE FROM `deadline` LEFT JOIN `job` ON deadline.job_id …

9
ข้อมูลไบนารีใน MySQL [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันจะเก็บข้อมูลไบนารีในMySQL ได้อย่างไร

15
ค่าเริ่มต้นไม่ถูกต้องสำหรับเขตข้อมูลประทับเวลา 'create_date'
ฉันมีคำสั่ง sql สร้างต่อไปนี้ mysql> CREATE TABLE IF NOT EXISTS `erp`.`je_menus` ( -> `id` INT(11) NOT NULL AUTO_INCREMENT , -> `name` VARCHAR(100) NOT NULL , -> `description` VARCHAR(255) NOT NULL , -> `live_start_date` DATETIME NULL DEFAULT NULL , -> `live_end_date` DATETIME NULL DEFAULT NULL , -> `notes` VARCHAR(255) NULL , -> …
186 mysql 

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