>source

오랫동안 ms sql용으로 작성한 t-sql code를 mysql로 ​​변환하려고 했습니다.

쿼리 문장이 있는데 솔직히 내 SQL에 대해 sys.table, sys.columns, sys.types와 같은 테이블을 찾을 수 없습니다.

여기서 내 목적은 내 데이터베이스에서 만든 내 테이블, 열 및 속성을 쿼리하는 것입니다. 내가 MS SQL용으로 작성한 code는 변경 없이 수년 동안 잘 작동했습니다.

select
sys.tables.name 'tablename'
sys.columns.name 'columnsname'
sys.types.name 'typename'
from sys.columns
inner join
sys.types on sys.columns.user_type_id= sys.types.user_type_id
left join
sys.index_columns on sys.index_columns.object_id= sys.columns.object_id and sys.index_columns.column_id= sys.columns.column_id
join
sys.tables on sys.tables.object_id= sys.columns.object_id
where sys.tables.is_memory_optimized= 1 and sys.tables.name in(select tablename from exampletable) order by sys.tables.name

위의 쿼리 문장에서 mssql에 대해 특수한 sys.table, sys.columns, sys.types, sys.index_columns.object_id, sys.tables.is_memory_optimized= 1과 같은 것을 어떻게 작성할 수 있습니까? ?

그리고 내가 당신이 생각하기에 주의해야 할 점은 무엇입니까? 특히 sys.types.user_type_id 일대일 테이블 열과 이름이 일치하지 않는 경우...

dev.mysql.com/doc/refman/8.0/en/information-schema.html

Akina2022-02-05 22:03:20

저는 MySQL을 처음 사용합니다. 나는 MSSQL 오류에 경험이 있지만 MYSQL은 아닙니다. SELECT * FROM INNODB_SYS_TABLES LIMIT 0, 1000 및 SELECT * FROM INNODB_SYS_TABLES LIMIT 0, 1000 다음과 같은 쿼리의 경우: 오류 code: 1146. 'sys.information_schema' 테이블이 존재하지 않습니다.

Pınar Seçkin2022-02-05 22:10:58
  • 이전 javascript : 버튼 클릭으로 커서를 변경하는 방법
  • 다음 unsigned long long int를 사용하여 C에서 분할 오류가 발생합니까?