Tôi đang nghĩ đến việc có một chương trình tự động tạo các bảng mới khi cần. Tôi có thể có các bảng có tên chỉ với các con số trong MySQL không?Bạn có được phép sử dụng các số làm tên bảng trong MySQL không?
Trả lời
Quy tắc đặt tên các đối tượng, bao gồm cả các bảng trong MySql:
http://dev.mysql.com/doc/refman/5.1/en/identifiers.html
định danh có thể bắt đầu bằng một chữ số nhưng trừ khi trích dẫn có thể không bao gồm chỉ chữ số.
Vì vậy, đây sẽ là không hợp lệ:
SELECT * FROM 12345;
Nhưng sau đây sẽ có giá trị:
SELECT * FROM `12345`;
Hoặc nếu chạy trong chế độ ANSI sau đây sẽ làm việc:
SET @@session.sql_mode=ANSI_QUOTES;
SELECT * FROM "12345";
như Karim và Steve Weet đã chỉ ra, có, bạn có thể, nhưng bạn sẽ phải trích họ như thế này:
SELECT * FROM `3516`
thể tôi khuyên bạn nên suy nghĩ lại có lẽ kịch bản của bạn mặc dù? Thêm tiền tố: bảng có tên "t3516" sẽ không gây nhầm lẫn như chỉ "3516".
Ngoài ra, bạn có thể chuyển đổi số để chỉ sử dụng các chữ chứ không phải là bất kỳ số:
table 0 - t_a
table 1 - t_b
table 2 - t_c
table 25 - t_z
table 26 - t_aa
table 27 - t_ab
... etc
Câu trả lời là có, như được đưa ra bởi karim79, miễn là bạn chăm sóc để trích dẫn các tên bảng. Tất nhiên, bạn có thể sử dụng một tiền tố với một số, ví dụ. mytable1, mytable2, ...; mà sẽ làm việc mà không có trích dẫn.
Điều đó nói rằng, bạn thực sự nên suy nghĩ về lý do tại sao bạn muốn tạo nhiều bảng. Cách thức làm việc được chấp nhận là có mọi thứ thuộc về nhau trong một cái bàn. Vì vậy, thay vì có table1, table2 ... bạn sẽ sử dụng một bảng, và lưu trữ số trong một cột.
Đó chỉ là cách tự nhiên. Cách làm việc của bạn có thể dễ dàng dẫn đến nhiều vấn đề (thay đổi lược đồ DB là vấn đề cho các bản sao lưu, làm cho các công cụ khác khó làm việc với DB vì nhiều bảng, các thay đổi lược đồ phải được thực hiện cho tất cả các bảng). Tự động thay đổi giản đồ của bạn trong thời gian chạy thường không phải là một ý tưởng hay.
Không chắc chắn ý của bạn là gì. Câu trả lời chắc chắn là có miễn là bạn định danh thoát nó mỗi lần. Ngoài ra, tôi đã đi qua nhiều trường hợp, nơi tên bảng là số nguyên trong cơ sở dữ liệu được tự động tạo ra. – techdude
@techdude: Tôi chưa bao giờ gặp một cơ sở dữ liệu với "bảng được đánh số". Bạn đã thấy chúng ở đâu? Và tại sao họ lại sử dụng? Tôi tò mò ... – sleske
Vị trí cụ thể không quan trọng (hoặc công khai). Điều quan trọng là bạn có thể sử dụng số cho tên bảng. Để tiếp tục giải quyết câu hỏi của người hỏi, bạn có thể sử dụng bảng tổng thể tương ứng với bảng mới mà bạn đã tạo (và có thể có thông tin khác về bảng) trong khi cũng có cột số nguyên tăng tự động số nguyên cho bảng sẽ được tạo. Không cần thiết trong trường hợp này để làm cho nó thành một chuỗi, vì các tên bảng nguyên (và các tên cột cho vấn đề đó) được hỗ trợ bởi tất cả các DBMS chính. – techdude
tôi nghĩ rằng nó không nên được ưa thích ở tất cả các coz nó sẽ khó hiểu hơn và khó nhớ. tên bảng phải phù hợp với dữ liệu lưu trữ. Đó là một thói quen tốt hơn.
sử dụng dấu gạch chéo (`) để báo tên bảng nếu nó chỉ là số. nó dưới nút esc trên bàn phím
- 1. Số có thể được sử dụng để đặt tên cho cột bảng MySQL không?
- 2. sử dụng một biến cho tên bảng trong mysql sproc
- 3. Sử dụng các số cột không có tên trong lm()
- 4. sử dụng (-) dấu gạch ngang trong tên bảng mysql
- 5. Không thể sử dụng tên cột "desc" trong mysql
- 6. Tôi có thể sử dụng tham số cho tên bảng trong sqlite3 không?
- 7. Chỉ số hợp chất MySQL không được sử dụng
- 8. Các loại bảng được sử dụng không hỗ trợ chỉ số KHÔNG GIAN
- 9. Làm cách nào để kiểm tra các thay đổi trong bảng MySQL (sử dụng MySQL 4)?
- 10. Bạn có sử dụng số ít hoặc số nhiều trong các tên mảng, bản đồ, tập hợp, v.v. không?
- 11. Tên chuẩn không có các hằng số được đặt tên
- 12. Làm cách nào để có được một số hàng liên kết trong một phép nối trái trong MySQL?
- 13. TF30172: Bạn không được phép
- 14. mysql - Tôi có thể xác định hoặc giới hạn số truy vấn bộ nhớ được phép sử dụng
- 15. Bạn có nên sử dụng varchar (max) làm đối số quy trình được lưu trữ không?
- 16. Tạo "Bảng số" trong mysql
- 17. Các bảng hiển thị mysql sắp xếp theo tên bảng
- 18. MySQL tham gia các bảng có tên bảng là trường của một bảng khác
- 19. Tôi có thể thực hiện các phép tính số học trên Bảng số không?
- 20. Find tối thiểu không được sử dụng giá trị trong bảng mysql
- 21. làm thế nào để có được tất cả các chi tiết về một bảng mysql bằng cách sử dụng C#?
- 22. Các giao dịch lồng nhau có được phép trong MySQL không?
- 23. Làm thế nào bạn có thể nhận được tên của các tham số phương pháp?
- 24. Quy ước đặt tên MySQL, tên trường có nên bao gồm tên bảng không?
- 25. Lấy tên cột trong bảng mysql?
- 26. Sử dụng các bảng trong HTML 5 có tốt không?
- 27. Hoạt động số có được phép trong CSS không?
- 28. Có cần thả các bảng tạm thời trong mysql không?
- 29. MySQL: Khi tên tham số thủ tục lưu trữ giống với tên cột của bảng
- 30. Sử dụng dấu hai chấm có các đối số được đặt tên trong ColdFusion
Phần liên quan từ tài liệu đó có lẽ là "Số nhận dạng có thể bắt đầu bằng chữ số." –