Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

# 1064 lỗi với INSERT INTO

CẬP NHẬT Lý do OP gặp lỗi cú pháp là do dấu phẩy bị bỏ trống sau phần khai báo cột mật khẩu:

CREATE TABLE IF NOT EXISTS `terrier`.`admin` (
  `adminId` int(11) NOT NULL auto_increment,
  `userName` varchar(50) NOT NULL,
  `password` varchar(50) NOT NULL <-- should be a comma here
  PRIMARY KEY (`adminId`))

LƯU Ý KHI CHÈN VÀO LĨNH VỰC TĂNG TỰ ĐỘNG

Bạn đang cố gắng chèn vào một trường tăng dần tự động adminId . Không chỉ định giá trị cho điều đó, MySQL tự động xử lý nó.

INSERT INTO admin (`userName`, `password`) VALUES ('wardens', 'Bega&1120');

Nếu bạn muốn đặt một giá trị rõ ràng trong INSERT của mình truy vấn cho trường tăng tự động mà bạn có ba lựa chọn dựa trên việc chỉ định trường là NOT NULL - '' , 0 hoặc NULL . Đây là tài liệu tham khảo. .

INSERT INTO admin (`adminId`, `userName`, `password`) VALUES ('', 'wardens', 'Bega&1120');
INSERT INTO admin (`adminId`, `userName`, `password`) VALUES (0, 'wardens', 'Bega&1120');
INSERT INTO admin (`adminId`, `userName`, `password`) VALUES (NULL, 'wardens', 'Bega&1120');

CẬP NHẬT Thử nghiệm thêm (theo đề xuất của @eggyal) cho thấy rằng bất kỳ giá trị có thể được chèn vào các trường tăng tự động bất kể công cụ cơ sở dữ liệu được chỉ định.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. tạo chế độ xem có xếp hạng, tên người dùng và số lượng hồ sơ người dùng

  2. SQL để xóa truy vấn

  3. Thay đổi truy vấn SQL từ một điều kiện thành một số điều kiện

  4. JavaScript có thể kết nối với MySQL không?

  5. Lặp qua tất cả các bảng và đổi tên một cột